<?xml version="1.0"?>
<mvdXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="00000000-0000-0000-0000-000000000000" xmlns="http://buildingsmart-tech.org/mvdXML/mvdXML1-0">
  <Definitions />
  <Templates>
    <ConceptTemplate uuid="805deb96-2684-4bc5-a9ad-3a29199dc023" name="Project" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>All files contain a single <i>IfcProject</i> instance indicating overall context and a directory of objects contained within.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="ab1e2cfd-9f21-4f4a-b6af-cc26d84e45ac" name="Project Declaration" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>The project provides a directory of objects contained within using declaration relationships.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="Declares" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelDeclares" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedDefinitions" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProjectLibrary" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcTypeObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcPropertySetTemplate" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="634e27f7-7edb-4e22-b8cc-25f1cdc765ce" name="Object Type Definitions" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Declaration of object types, such as element types utilized by the element occurrences within this project, within the context of the project</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Declares" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelDeclares" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatedDefinitions" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcTypeObject" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="d6eddceb-c102-4247-8ec0-24e7d4c5da9b" name="Property Set Templates" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Declaration of property set templates, including the property templates that are used as property definitions. Such templates define the applicable properties, their names, descriptions, measure types and property type (single, enumerated, bounded  list or table value),</p> ]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Declares" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelDeclares" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatedDefinitions" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPropertySetTemplate" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="HasPropertyTemplates" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcComplexPropertyTemplate" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="HasPropertyTemplates" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcSimplePropertyTemplate" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcSimplePropertyTemplate" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="4ccaac0c-88f8-4c1d-91fd-2214d0e513c4" name="Project Units" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[  <p class="std">

        The project context includes the definition of the default units within the IFC data set. Default units are

        those units that apply:

      </p>

      <ul class="std">

        <li class="std">to all geometric representation items within the geometric representation contexts;

        </li>

        <li class="std">to all attributes with a defined datatype indicating a measure datatype;

        </li>

        <li class="std">to all properties and quantities with a defined datatype indicating a measure datatype and with

        no local unit definitions provided.

        </li>

      </ul>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="UnitsInContext" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcUnitAssignment" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="" AttributeName="Units" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcSIUnit" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="NamedUnitType" AttributeName="UnitType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcUnitEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Prefix" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcSIPrefix" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcSIUnitName" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcConversionBasedUnit" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="UnitType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcUnitEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcMonetaryUnit" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Currency" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcDerivedUnit" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Elements" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDerivedUnitElement" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Unit" Cardinality="_asSchema">
                                      <EntityRules />
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Exponent" Cardinality="_asSchema">
                                      <EntityRules />
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="ef090973-08aa-4b7d-a6af-75bc89ebf215" name="SI Units" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>SI units are defined according to standard prefix and standard name.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="UnitsInContext" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcUnitAssignment" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Units" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcSIUnit" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="UnitType" AttributeName="UnitType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcUnitEnum" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Prefix" AttributeName="Prefix" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcSIPrefix" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcSIUnitName" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="58df55ef-a765-4c49-992d-55483a25e0b8" name="Conversion Units" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Conversion units are defined according to a conversion factor (and conversion offset for temperature) relative to a specified base SI unit.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="UnitsInContext" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcUnitAssignment" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Type" AttributeName="Units" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcConversionBasedUnitWithOffset" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="UnitType" AttributeName="UnitType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcUnitEnum" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="ConversionFactor" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMeasureWithUnit" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="ConversionType" AttributeName="ValueComponent" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule RuleID="ConversionFactor" EntityName="IfcReal" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="UnitComponent" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcSIUnit" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule RuleID="BaseUnitPrefix" AttributeName="Prefix" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSIPrefix" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="BaseUnitName" AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSIUnitName" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="ConversionOffset" AttributeName="ConversionOffset" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="87582ef5-9a6e-4848-8284-b33e9f08cfa5" name="Derived Units" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules />
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="38dac6f0-997c-4544-9bca-b6326b9a3e4b" name="Project Context" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[ <p class="std">

        A project representation context indicates the coordinate system orientation, direction of true north,

        precision, and other values that apply to all geometry within a project or project library.

      </p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="RepresentationContexts" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="ContextIdentifier" AttributeName="ContextIdentifier" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule RuleID="ContextType" AttributeName="ContextType" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="CoordinateSpaceDimension" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDimensionCount" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="WorldCoordinateSystem" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="TrueNorth" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="818ca5a3-4574-49b1-9951-ae7bad5c3341" name="Project Classification Information" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Projects may define classification structures, which may be used to classify objects contained within the same project, or other referencing projects (incorporating the current project as <i>IfcProjectLibrary</i>.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesClassification" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingClassification" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcClassification" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="HasReferences" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcClassificationReference" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="HasReferences" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcClassificationReference" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Source" AttributeName="Source" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="ReferenceTokens" AttributeName="ReferenceTokens" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="627f19f8-d2ee-4b19-a13c-e5149018b976" name="Project Document Information" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Projects may define external documents, which may be used to attach arbitrary information to objects contained within the same project or referencing projects.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesDocument" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingDocument" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDocumentInformation" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Location" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcURIReference" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="ElectronicFormat" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDocumentElectronicFormat" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="f71de28e-4352-4f0d-9830-4fa13534a705" name="Project Library Information" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Projects may define libraries holding revisions of the project such as model servers or databases.  Multiple libraries may be referenced to indicate multiple revisions, multiple branches, and/or multiple servers.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesLibrary" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingLibrary" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLibraryInformation" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Version" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Publisher" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcPersonAndOrganization" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="VersionDate" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Location" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcURIReference" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="33e0be15-e301-4858-9f4b-18b2eb5488ba" name="Definition" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" name="Object Typing" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Object occurrences can be
 defined by a particular object type, using the <em>Object Typing</em> concept. A pair of entities are defined for most semantic objects - an
 object occurrence entity and a corresponding object type entity.</p> 
<blockquote class="example">EXAMPLE&nbsp; The <em>IfcTank</em>
 is the object occurrence entity that has a corresponding
 <em>IfcTankType</em> being the object type entity.
</blockquote>

 
<p>On instance level, an
 object occurrence instance may have:</p>
<ul>
<li>similar state as its object
 type instance by applying all characteristics defined at the type;</li>
<li>overridden state for particular characteristics;</li>
<li>no defined object type instance.</li>

</ul>


<p>Characteristics defined at the object type level may include:</p>
<ul>
<li>common naming and predefined type;</li>
<li>common properties within a type driven property set;</li>
<li>common geometry representations, applied as mapped representation to each occurences;</li>
<li>common material assignments (with exception of material set usages);</li>
<li>common definition of a decomposition structure.</li>
</ul>
<p>
Many object occurrence and object type entities have an
 attribute named <i>PredefinedType</i> consisting of a specific
 enumeration. Such predefined
 type essentially provides another level of inheritance to
 further differentiate objects without the need for
 additional entities. Predefined types are not
 just informational; various rules apply such as applicable
 property
 sets, part composition, and distribution ports.
</p>
<blockquote class="example">EXAMPLE&nbsp; 
For scenarios of object types having part compositions,
such parts may be reflected at object occurrences having
 separate state. For example, a <i>wall type</i> may define
 a particular arrangement of studs, a <i>wall occurrence</i>
 may reflect the same arrangement of studs, and studs within
  the wall occurrence may participate in specific
 relationships that do not exist at the type such as being
 connected to an electrical junction box.</blockquote>

 

<p>The object type is attached using the <em>IfcRelDefinesByType</em> objectified relationship and is accessible by the <em>IsTypedBy</em> inverse attribute. Only a maximum one, or zero, object types can define an object occurrence. If the object type has aggregated elements, such objects are reflected at the object occurrence using the <em>IfcRelDefinesByObject</em> relationship.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsTypedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelDefinesByType" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" Description="applicable entity for corresponding type" AttributeName="RelatingType" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTypeObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="36984334-3ac8-4e59-85a6-f68d65e379c7" name="Property Sets" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>The concept template <em>Property Sets</em> describes how sets of properties (usually defined by a name, value, unit triple) are associated to objects or object types.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules />
          <SubTemplates>
            <ConceptTemplate uuid="f74255a6-0c0e-4f31-84ad-24981db62461" name="Property Sets" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
              <Definitions>
                <Definition>
                  <Body><![CDATA[
      <p class="std">
        Any specialization of <a href="../chapter-3.htm#object" class=
        "int-ref">object</a> can be related to multiple <a href=
        "../chapter-3.htm#property-set-occurrence" class=
        "int-ref">property set occurrences</a>. A property set
        contains multiple <a href="../chapter-3.htm#property-occurrence"
        class="int-ref">property occurrences</a>. The data type of
        property occurrence are single value, enumerated value,
        bounded value, table value, reference value, list value,
        and combination of property occurrences.
      </p>
                ]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
                  <EntityRules />
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelDefinesByProperties" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingPropertyDefinition" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPropertySet" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="HasProperties" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="4be3312a-3199-492e-b204-cac2229a9ade" name="Property Sets for Types" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeObject">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>For object types, property sets are defined directly.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasPropertySets" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcPropertySet" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="c32cc55b-afc7-439e-b821-e646e1b1dd1a" name="Property Sets for Performance" status="" applicableSchema="IFC2X4" applicableEntity="IfcPerformanceHistory">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>For performance history, properties are in the form of time series, for tracking data at points in time.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelDefinesByProperties" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingPropertyDefinition" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPropertySet" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPropertyReferenceValue" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="PropertyReference" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcIrregularTimeSeries" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Values" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcIrregularTimeSeriesValue" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="TimeStamp" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                        <AttributeRule AttributeName="ListValues" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcValue" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="6652398e-6579-4460-8cb4-26295acfacc7" name="Quantity Sets" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
          <Definitions>
            <Definition>
              <Body><![CDATA[
<p>
Any specialization of object can be related to multiple quantity set occurrences. A quantity set
 contains multiple quantity occurrences. The data type of
        quantity occurrence values are count, length, area, volume, weight, time, or a combination of quantities. Each quantity is defined by its name, value, and optionally a description and a formula.</p>

<p>The quantity set is expressed by instances of <em>IfcElementQuantity</em>, where the <em>Name</em> attribute determines the common designator of the quantity set. This specification contains a number of predefined quantity sets, a template definition is provided for each of them. The name of the template has to be used as the value of the <em>Name</em> attribute. The <em>MethodOfMeasurement</em> attribute specifies the method, by which the values of the individual quantities are calculated. For the quantity set templates included in this specification, the value of <em>MethodOfMeasurement</em> shall be "BaseQuantities".</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelDefinesByProperties" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingPropertyDefinition" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcElementQuantity" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Quantities" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcPhysicalQuantity" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="15555189-efab-4d84-9103-65ce7b404072" name="Property Set Templates" status="" applicableSchema="IFC2X4" applicableEntity="IfcPropertySet">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Property set templates describe extensible parameters that may be configured on objects.  
Each property is identified by name, and indicates data type and access mode.
</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelDefinesByTemplate" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingTemplate" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcPropertySetTemplate" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="TemplateType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcPropertySetTemplateTypeEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="HasPropertyTemplates" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcSimplePropertyTemplate" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="TemplateType" AttributeName="TemplateType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcSimplePropertyTemplateTypeEnum" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="PrimaryMeasureType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="SecondaryMeasureType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Enumerators" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcPropertyEnumeration" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule AttributeName="EnumerationValues" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="AccessState" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcStateEnum" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule RuleID="PropertyType" AttributeName="HasProperties" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcSimpleProperty" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="4b385464-b99a-42bc-a17a-a0a647a1ab5b" name="Association" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="4a224609-6578-4c75-afcf-8affa86e5ef2" name="Classification" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Objects, type objects, properties, and some resource schema entities can be further described by associating references to external sources of information. 
The source of information can be:
</p>
 
<ul>
        
<li>a classification system;</li>
        
<li>a dictionary server;</li>
        
<li>any external catalogue that classifies the object further;</li>
        
<li>a service that combine the above features.</li>
      
</ul>



<p>An individual item within the external source of information can be selected. 
It then applies the inherent meaning of the item to the object or property.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesClassification" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingClassification" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcClassificationReference" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="Identification" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="ReferencedSource" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcClassification" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="Source" AttributeName="Source" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Tokens" AttributeName="ReferenceTokens" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="7dadae9c-0026-44d3-ade7-9a843fe2ef0b" name="Document" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[
      <p class="std">
        Any object or property can have associated documents indicating external files. Documents may be referenced in
        their entirety such as to capture product brochures, data sheets, multimedia content, or thumbnail images. Contents
        within documents may be referenced from any object, and may be used to synchronize information in other files such as
        work schedules for project management applications.
      </p>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesDocument" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatingDocument" AttributeName="RelatingDocument" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDocumentReference" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="ReferencedDocument" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDocumentInformation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="Location" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcURIReference" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="3d761f09-23a2-4c01-8bc5-8762aa92bc23" name="Library" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[
      <p class="std">
        Any object, type object, property, and some resource schema entities can have associated library entities indicating
        the source of data such as from a model server or product library, or simply enriching the data with more details.
        Libraries may be referenced in their entirety from projects or project libraries indicating the master source and version of data. 
        Contents within libraries may be referenced from any object, type object, property, and some resource schema entities within a project or project library.
      </p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesLibrary" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatingLibrary" AttributeName="RelatingLibrary" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLibraryReference" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="ReferencedLibrary" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLibraryInformation" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="52561fda-4281-409d-aa07-da485302249e" name="Approval" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[
      <p class="std">
        Any object or property can have associated approvals indicating who is required to approve the data, the status
        of whether it has been approved, and the date/time of such approval. 
        Approvals may require multiple parties fulfilling various roles.
      </p>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="" AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesApproval" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="" AttributeName="RelatingApproval" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcApproval" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="c08b264c-f7c6-479f-af7f-5d645c130ea8" name="Constraint" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[
      <p class="std">
        Any object or property may have associated constraints
        indicating a qualitative objective or a quantitative metric
        to be met.
      </p>

      <p class="std">
        Constraints based on metrics are measurable, such that the
        status of a metric being valid is computer-interpretable.
        Metric constraints are based on simple conditional logic
        such as greater than a particular value or included within
        a specified list or table. Constraints may be combine
        multiple metrics using boolean logic such as AND, OR, XOR,
        or NOT.
      </p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="" AttributeName="HasAssociations" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssociatesConstraint" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="" AttributeName="RelatingConstraint" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObjective" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="BenchmarkValues" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcMetric" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="DataValue" AttributeName="DataValue" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcMetricValueSelect" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="" AttributeName="Benchmark" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBenchmarkEnum" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="ReferencePath" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcReference" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="TypeIdentifier" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="Attribute1" AttributeName="AttributeIdentifier" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule AttributeName="InnerReference" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcReference" Cardinality="_asSchema">
                                                  <AttributeRules>
                                                    <AttributeRule AttributeName="TypeIdentifier" Cardinality="_asSchema">
                                                      <EntityRules />
                                                      <AttributeConstraints />
                                                    </AttributeRule>
                                                    <AttributeRule RuleID="Attribute2" AttributeName="AttributeIdentifier" Cardinality="_asSchema">
                                                      <EntityRules />
                                                      <AttributeConstraints />
                                                    </AttributeRule>
                                                  </AttributeRules>
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" name="Table Mapping" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The constraint model may be used to indicate mappings between data in the IFC model and external documents.  This concept template may also be used by software applications to translate data to/from spreadsheets without necessarily instantiating constraint relationships within an IFC data set.</p>

<p>To indicate an explicit mapping to a particular file or database, IFC classes may be mapped to tabular data formats using <i>IfcResourceConstraintRelationship</i> attached to <i>IfcDocumentInformation</i>.</p>

<p>Default mappings may be indicated using the <a href="../ifccontrolextension/lexical/ifcrelassociatesconstraint.htm">IfcRelAssociatesConstraint</a> relationship, with <i>RelatingConstraint</i> pointing to <a href="../ifcconstraintresource/lexical/ifcobjective.htm">IfcObjective</a>.</p>

<p>An <a href="../ifcconstraintresource/lexical/ifcobjective.htm">IfcObjective</a> of type <i>EXTERNAL</i> has <i>ConstraintSource</i> set to the name of the IFC entity (e.g. 'IfcSpace') with <i>Benchmarks</i> containing a single <a href="../ifcconstraintresource/lexical/ifcmetric.htm">IfcMetric</a> with <i>DataValue</i> set to an <a href="../ifcutilityresource/lexical/ifctable.htm">IfcTable</a>. On <a href="../ifcutilityresource/lexical/ifctable.htm">IfcTable</a>, the <i>Name</i> is set to the name of the external database table or worksheet, and the <i>Columns</i> attribute indicates the external table columns in order as <a href="../ifcutilityresource/lexical/ifctablecolumn.htm">IfcTableColumn</a>. For each <a href="../ifcutilityresource/lexical/ifctablecolumn.htm">IfcTableColumn</a>, the <i>Name</i> indicates the field name or column header, and the <i>ReferencePath</i> identifies the corresponding object attribute, for which standard mappings are indicated.</p>

<p>Within this document, attribute paths (as used for <a href="../ifcconstraintresource/lexical/ifcreference.htm">IfcReference</a>) are encoded using syntax in the form 'IfcSpace.OwnerHistory\IfcOwnerHistory.CreationDate' with the following conventions:</p>
<ul>
<li>The period character dereferences an attribute from an entity.</li>
<li>The backslash character casts an entity into a subtype, where a backslash without a subtype indicatings mapping to the type itself.</li>
<li>A bracket sequence with an asterisk ("[*]") dereferences a collection into each member.</li> 
<li>A bracket sequence with an encoded string (e.g. "['SerialNumber']" dereferences a collection into a specific member by name.</li>
</ul>

<p>Upon import from a spreadsheet, tables shall be identified by worksheet name regardless of order, and columns shall be identified by header name regardless of order.  For export to a new spreadsheet, worksheets shall be provided with identifying name for each entity and sequenced in the order specified, and within each worksheet a header row shall be provided with with each column having an identifying name and sequenced in the order specified.</p>

<p>Attributes are mapped to spreadsheet cells, where either NULL, an empty string, or the reserved value 'n/a' indicates a null value.  Specific base types are mapped as follows:</p>
<ul>
<li><b>STRING</b>: String types are represented as strings.</li>
<li><b>REAL</b>: Real number types are represented as real numbers.</li>
<li><b>ENTITY</b> Entity references are represented as strings identifying by name (<a href="../ifckernel/lexical/ifcroot.htm">IfcRoot</a>.<i>Name</i>).</li>
<li><b>SET</b> Set-based collections are represented as strings identifying each object by name and separated by a comma.</li>
</ul>

<p>Specific mappings are defined at corresponding entities, where the following standard column names are used:</p>
<ul>
<li><b>Name</b>: Indicates the name of the object, corresponding to <a href="../ifckernel/lexical/ifcroot.htm">IfcRoot</a>.<i>Name</i>.</li>
<li><b>ExtObject</b>: Indicates the IFC type of the object by identifying the IFC entity by name (e.g. 'IfcBoiler').  If omitted upon import, the IFC entity shall be the base type where the concept is indicated (if non-abstract); otherwise no entity shall be imported.</li>
<li><b>ExtSystem</b>: Indicates the application that currently owns the object, mapping to <a href="../ifcutilityresource/lexical/ifcapplication.htm">IfcApplication</a>.<i>ApplicationIdentifier</i>.</li>
<li><b>ExtIdentifier</b>: Indicates the GUID of the object encoded in the same format described at <i>IfcGloballyUniqueId<i>, mapping to <a href="../ifckernel/lexical/ifcroot.htm">IfcRoot</a>.<i>GlobalId</i>.  If omitted upon import, such GUID shall be constructed dynamically.  If merging changes upon import, such identifier shall be used to identify an existing object (i.e. this maintains identity if an object is renamed (the <i>Name</i> attribute changing).</li>
</ul>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesConstraint" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingConstraint" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcObjective" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="BenchmarkValues" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMetric" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="DataValue" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcTable" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule RuleID="Table" AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Columns" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcTableColumn" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule RuleID="Column" AttributeName="Identifier" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                        <AttributeRule AttributeName="Unit" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcContextDependentUnit" Cardinality="_asSchema">
                                                              <AttributeRules>
                                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule RuleID="Unit" EntityName="IfcLabel" Cardinality="_asSchema">
                                                                      <AttributeRules />
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                              </AttributeRules>
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                        <AttributeRule RuleID="Reference" AttributeName="ReferencePath" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcReference" Cardinality="_asSchema">
                                                              <AttributeRules>
                                                                <AttributeRule AttributeName="TypeIdentifier" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                                                      <AttributeRules />
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                                <AttributeRule AttributeName="AttributeIdentifier" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                                                      <AttributeRules />
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                                <AttributeRule AttributeName="InstanceName" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                                      <AttributeRules />
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                                <AttributeRule AttributeName="ListPositions" Cardinality="_asSchema">
                                                                  <EntityRules />
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                                <AttributeRule AttributeName="InnerReference" Cardinality="_asSchema">
                                                                  <EntityRules />
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                              </AttributeRules>
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="ObjectiveQualifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcObjectiveEnum" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=EXTERNAL" AttributeName="Value=EXTERNAL" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="ea2a63be-fd0d-426d-863b-52c3970ca585" name="Material" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p class="std">

Any product or product type can have associated materials indicating the physical composition of an object.

 Materials can have representations for surface styles indicating colors, textures, and light reflectance for 3D

 rendering. Materials can have representations for fill styles indicating colors, tiles, and hatch patterns for

 2D rendering. Materials can have properties such as density, elasticity, thermal resistance, and others as

 defined in this specification. Materials can also be classified according to a referenced industry standard.

</p>

      

<p class="std">

An object can be comprised of a single material or a set of materials with a particular layout. Several

 examples include:

</p>



<ul class="std">

        
<li class="std">a slab may have an associated layer of concrete;

        </li>

        
<li class="std">a beam may have an associated I-Shape profile of steel;

        </li>

        
<li class="std">a door may have associated constituents for framing and glazing;

        </li>

      <li class="std">a port may have an associated profile and/or material flowing through it such as hot water.

        </li>

      
</ul>




<blockquote class="example">EXAMPLE&nbsp; Material information can also be given at object type, defining the common material data for all
 occurrences of the same type. It is then accessible by the inverse 
<em>IsTypedBy</em> relationship pointing
 via <em>HasAssociations</em> and via
 <em>IfcRelAssociatesMaterial.RelatingMaterial</em> to
the material information. If both are 
given, then the material directly assigned to object occurrence 
overrides the material assigned to object type.
</blockquote>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules />
          <SubTemplates>
            <ConceptTemplate uuid="5f39a814-44a0-4fb3-8dc6-ddaa0560fc54" name="Material Single" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Materials are directly associated with products and product types to indicate a uniform material for the entire object.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialProperties" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Properties" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="HasRepresentation" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialDefinitionRepresentation" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledRepresentation" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcPresentationStyle" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="dfb5b3a9-50e3-46e2-8518-1f03e7cfd886" name="Material Layer Set" status="" applicableSchema="IFC2X4" applicableEntity="IfcElementType">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Material layer sets are associated with product types to indicate a parametric specification of layers having specified thickness filling a boundary defined on occurrences of the type.  Examples of such product types are slabs, walls, and plates. 
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialLayerSet" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="MaterialLayers" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialLayer" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Material" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="HasRepresentation" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialDefinitionRepresentation" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcStyledRepresentation" Cardinality="_asSchema">
                                                              <AttributeRules>
                                                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                                                      <AttributeRules>
                                                                        <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                                          <EntityRules>
                                                                            <EntityRule EntityName="IfcPresentationStyle" Cardinality="_asSchema">
                                                                              <AttributeRules />
                                                                              <EntityRules />
                                                                            </EntityRule>
                                                                          </EntityRules>
                                                                          <AttributeConstraints />
                                                                        </AttributeRule>
                                                                      </AttributeRules>
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                              </AttributeRules>
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialProperties" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Properties" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="6d5fb86f-3f2d-49fb-9528-077855ddcc47" name="Material Layer Set Usage" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Material layer set usage defines layout at occurrences to indicate a direction and offset from the 'Axis' reference curve, and a reference extent such as for a default wall height.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule RuleID="" AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="" AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialLayerSetUsage" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="ForLayerSet" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialLayerSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="" AttributeName="MaterialLayers" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcMaterialLayer" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules />
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="" AttributeName="Material" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="" AttributeName="LayerThickness" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcNonNegativeLengthMeasure" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="427ac055-2a71-42c2-a423-71689fa75c59" name="Material Profile Set" status="" applicableSchema="IFC2X4" applicableEntity="IfcElementType">
              <Definitions>
                <Definition>
                  <Body><![CDATA[
<p>Material profile sets are associated with elements or element types where materials are placed in cross-sections of specified dimensions following a path defined at occurrences of the type.  Examples of such products are beams, columns, members, reinforcing, footings, piles, pipe segments, duct segments, and cable segments. 
</p>
<p>Material profile sets are associated by using the relationship <em>IfcRelAssociatesMaterial</em> having the <em>RelatingMaterial</em> pointing to an
<em>IfcMaterialProfileSet</em>. The <em>RelatedObjects</em> either point to a single or multiple occurrences of <em>IfcElement</em>, or to a single or multiple <em>IfcElementType</em>.

<blockquote class="example">EXAMPLE&nbsp; 
Material profile sets can be provides at the 
<em>IfcColumnType</em>, defining the common material information for all
occurrences of the same column type. It is then accessible by the 
inverse <em>IsTypedBy</em> 
relationship at <em>IfcColumn</em> pointing to
 <em>IfcColumnType</em> having the <em>HasAssociations</em> inverse relationship to 
<em>IfcRelAssociatesMaterial</em> with <em>RelatingMaterial</em> refering to the 
<em>IfcMaterialProfileSet</em>>. If an individual material association is provide at the  
<em>IfcColumn</em> and the 
<em>IfcColumnType</em>, then the material directly assigned to <em>IfcColumn</em> 
overrides the material assigned to <em>IfcColumnType</em>.</blockquote>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialProfileSet" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="MaterialProfiles" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialProfile" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Material" Cardinality="ZeroToOne">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="HasRepresentation" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialDefinitionRepresentation" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcStyledRepresentation" Cardinality="_asSchema">
                                                              <AttributeRules>
                                                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                                                      <AttributeRules>
                                                                        <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                                          <EntityRules>
                                                                            <EntityRule EntityName="IfcPresentationStyle" Cardinality="_asSchema">
                                                                              <AttributeRules />
                                                                              <EntityRules />
                                                                            </EntityRule>
                                                                          </EntityRules>
                                                                          <AttributeConstraints />
                                                                        </AttributeRule>
                                                                      </AttributeRules>
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                              </AttributeRules>
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialProperties" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Properties" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule RuleID="Profile" AttributeName="Profile" Cardinality="One">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcProfileDef" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcProfileProperties" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Properties" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="6aa01429-b566-4b36-875a-3162088a9831" name="Material Profile Set Usage" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Material profile set usage defines layout at occurrences to indicate the offset from the 'Axis' reference curve according to cardinal point, and a reference extent such as for a default column height.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule RuleID="" AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="" AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialProfileSetUsage" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="ForProfileSet" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialProfileSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="" AttributeName="MaterialProfiles" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcMaterialProfile" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="" AttributeName="Material" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="Profile" AttributeName="Profile" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule RuleID="" EntityName="IfcProfileDef" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="d96f7f7d-e742-4db8-9b5d-18a36a6df884" name="Material Constituents" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Material constituents are associated with products where materials are placed arbitrarily (unlike 1D material profiles or 2D material layers).  
The mapping of materials to geometry may be accomplished using <i>IfcShapeAspect</i>.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatingMaterial" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialConstituentSet" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="MaterialConstituents" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialConstituent" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="Name" Description="The name of the material constituent." AttributeName="Name" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Material" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialProperties" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Properties" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcProperty" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="HasRepresentation" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcMaterialDefinitionRepresentation" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcStyledRepresentation" Cardinality="_asSchema">
                                                              <AttributeRules>
                                                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                                                  <EntityRules>
                                                                    <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                                                      <AttributeRules>
                                                                        <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                                          <EntityRules>
                                                                            <EntityRule EntityName="IfcPresentationStyle" Cardinality="_asSchema">
                                                                              <AttributeRules />
                                                                              <EntityRules />
                                                                            </EntityRule>
                                                                          </EntityRules>
                                                                          <AttributeConstraints />
                                                                        </AttributeRule>
                                                                      </AttributeRules>
                                                                      <EntityRules />
                                                                    </EntityRule>
                                                                  </EntityRules>
                                                                  <AttributeConstraints />
                                                                </AttributeRule>
                                                              </AttributeRules>
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="HasShapeAspects" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeAspect" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="ShapeRepresentations" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcRepresentationItem" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcRepresentationItem" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="0e8b1397-1ac6-41e1-a6d0-f2b34688cb61" name="Product" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>A product is an occurence of a physical or virtual object with finite spatial extent.</p>
            ]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="cbe85b5f-7912-4a43-8bb7-1e63bf40b26d" name="Product Placement" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
          <Definitions>
            <Definition>
              <Body><![CDATA[
      <p class="std">
        Product occurrences can be placed in 3D space relative to
        where they are contained. Placement is defined by a
        relative position (X, Y, Z coordinates), a horizontal
        reference direction, and a vertical axis direction. At the
        outermost level, relative directions are defined according
        to representation context; for example, +X may point east,
        +Y may point north, and +Z may point up.
      </p>
      <p class="std">
        Placement follows aggregation and containment relationships
        as follows:
      </p>
      <ul class="std">
        <li class="std">at the outermost level, a site is globally
        positioned according to latitude, longitude, and elevation;
        </li>
        <li class="std">for spatial structures, positioning is
        relative to aggregation. For example, a site may aggregate
        multiple buildings, each building may aggregate multiple
        building storeys, and each building storey may aggregate
        multiple spaces;
        </li>
        <li class="std">for building elements, positioning is
        relative to the containing spatial structure. For example,
        a building storey may contain slabs, walls, columns, and
        beams;
        </li>
        <li class="std">for aggregated parts, positioning is
        relative to aggregation. For example, a staircase may
        aggregate one or more stair flights;
        </li>
        <li class="std">for feature elements, positioning is
        relative to the affected building element. For example, an
        opening element is positioned relative to the wall it
        voids, which in turn is positioned relative to a building
        storey;
        </li>
        <li class="std">for fillings, positioning is relative to
        the filled opening. For example, a door is positioned
        relative to an opening which in turn is positioned relative
        to a wall;
        </li>
        <li class="std">for distribution ports, positioning is
        relative to the containing distribution element. For
        example, an air terminal may have a port connection for a
        duct segment or fitting;
        </li>
        <li class="std">for distribution elements, positioning is
        relative to the containing spatial structure, however may
        be constrained by port connections. For example, a
        electrical junction box may fill an opening within a wall,
        and the junction box may contain ports for contained
        outlets or switches; the placement of such connected
        elements is contrained relative to connected port of the
        junction box. As another example, an air terminal may fill
        a ceiling covering which is placed relative to a space; the
        placement of a connecting duct fitting may be constrained
        relative to the air terminal.
        </li>
      </ul>
      <p class="std">
        If a containing spatial structure contains a grid, then
        placement may also be based relative to grid coordinates.
      </p>
      
                ]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="Type" AttributeName="ObjectPlacement" Cardinality="ZeroToOne">
              <EntityRules>
                <EntityRule RuleID="" EntityName="IfcLocalPlacement" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="" AttributeName="RelativePlacement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="" AttributeName="Location" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Dim" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcDimensionCount" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=3" AttributeName="Value=3" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="Axis" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Dim" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcDimensionCount" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=3" AttributeName="Value=3" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="RefDirection" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Dim" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcDimensionCount" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=3" AttributeName="Value=3" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule RuleID="" AttributeName="PlacementRelTo" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLocalPlacement" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="13f96914-1ad4-41d4-ba99-411a9ecbf567" name="Product Representation" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
          <Definitions>
            <Definition>
              <Body><![CDATA[
<p>

The shape of products may be represented in multiple ways
 for different purposes. Each representation has a
 well-known string identifier and a particular
 representation context. There may be multiple
 representation contexts to describe a shape at various levels of detail. Most building elements have a 'Body'
 representation which defines or approximates the physical shape and volume. In addition to physical building elements, non-physical elements may have representations
 such as spaces and openings.

</p>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="Name" AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="b942ceb1-b818-4683-871b-9c979fa34dd5" name="Box Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements may have a simplified 'Box' representation
 describing the dimensions of the smallest box bounding the
 object. Such representation may be used for more efficient
 spatial indexing or hit-testing.

</p>


<p>The representation identifier and type and the only allowed single representation item of the 'Box' representation
 are:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Box'</li>

 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'BoundingBox'</li>
 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBoundingBox</em></li>

</ul>

<blockquote class="note">NOTE&nbsp; The specification does not determine the method by which the bounding box has to be created. If such a method need to be prescribed the definition has to be established by model view definitions or implementer agreements.</blockquote>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Box" AttributeName="Value=Box" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=BoundingBox" AttributeName="Value=BoundingBox" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoundingBox" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="903fb653-05cc-471e-a58e-6b58b9c76f68" name="Annotation Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcAnnotation">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Annotations may provide an 'Annotation' representation for including points, curves, surfaces, fill areas, and text. </p>

<p>Styled items may provide structure and styles that apply to the representation, a geometric set may provide styles that apply to all items within, and/or items may provide their own styles which override styles defined at the geometric set. Styles and label can also be assigned by presentation layers.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Annotation" AttributeName="Value=Annotation" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcTextLiteral" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcTextStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcDefinedSymbol" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSymbolStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcSurface" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSurfaceStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcCurve" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcCurveStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcPoint" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcAnnotationFillArea" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcFillAreaStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcGeometricSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSurfaceStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                    <EntityRule EntityName="IfcCurveStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                    <EntityRule EntityName="IfcFillAreaStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                    <EntityRule EntityName="IfcMappedItem" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="MappingSource" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcRepresentationMap" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="MappedRepresentation" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="MappingTarget" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianTransformationOperator" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="014166a7-ef2b-4818-bfcb-1128a691cf9f" name="Annotation 2D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcAnnotation">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>
The 'Annotation 2D Geometry' is used, when the representation of an annotation includes specific drafting
 representation elements, in particular areas for hatching and text. </p>
<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>
    <ul>

 <li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> : 'Annotation'
</li>

 <li>
<em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'Annotation2D'
</li>

 <li><em>IfcShapeRepresentation</em><em>.Items</em> :

  <ul>

   <li>subtypes of <em>IfcPoint</em> and <em>IfcCurve</em> being two-dimensional and
 within an <em>IfcGeometricCurveSet</em>
</li>

   <li>subtypes of <em>IfcAnnotationFillArea</em> for hatches
</li>

  <li>subtypes of <em>IfcTextLiteral</em> for text
</li>

  </ul>
 </li>
</ul>]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Annotation" AttributeName="Value=Annotation" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Annotation2D" AttributeName="Value=Annotation2D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcPoint" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcCurve" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcAnnotationFillArea" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcTextLiteral" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="0f213846-fe15-4607-a66a-b33e98cb5887" name="Annotation 3D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcAnnotation">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>
The 'Annotation 3D Geometry' is used, when the representation of the
 annotation does includes surfaces and is not restricted to two-dimensional representation items.</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>
    <ul>

 <li>
<em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> : 'Annotation'
</li>

 <li>
<em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'GeometricSet'
</li>
    
 <li><em>IfcShapeRepresentation</em><em>.Items</em> :
  <ul>
   <li>subtypes of <em>IfcPoint</em> and <em>IfcCurve</em> being three-dimensional and
 within an <em>IfcGeometricSet</em></li>
   <li>subtypes of <em>IfcSurface</em> being three-dimensional and
 within an <em>IfcGeometricSet</em></li>
  </ul>
 
 </li>
</ul>]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Annotation" AttributeName="Value=Annotation" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=GeometricSet" AttributeName="Value=GeometricSet" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcPoint" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcCurve" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcSurface" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="3bf716df-3990-4bfc-8045-9e4011c9b622" name="Axis Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements following a path provide an 'Axis' representation
 indicating a line segment or any arbitrary open bounded curve.
 Examples of such elements include walls, beams, columns,
 pipes, ducts, and cables. For elements that have a material
 profile set association indicating cross-section, a
 'Body' representation may be generated based on the axis
 curve and material profiles. Curve styles may indicate
 particular colors, line thicknesses, and dash patterns for
 2D rendering.

</p>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule RuleID="" AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="" AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="RepresentationIdentifier" Cardinality="One">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="" Description="fixed value = &quot;Axis&quot;" AttributeName="Value=Axis" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="One">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="" Description="fixed value = &quot;Curve3D&quot;" AttributeName="Value=Curve3D" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule RuleID="" EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="ZeroToOne">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcCurveStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="782444e8-d681-475a-9034-a9e7f53c6d65" name="Axis 2D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>
The 'Axis' representation using 'Curve2D' representation type is predominately used to align material layer sets to geometric representations of standard walls.

</p>


<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Axis'</li>


 <li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'Curve2D'</li>
 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBoundedCurve</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Axis" AttributeName="Value=Axis" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Curve2D" AttributeName="Value=Curve2D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="b894d8cb-fb41-45ec-ba18-72cac6baff34" name="Axis 3D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>
The 'Axis' representation using 'Curve3D' representation type is predominately used to align material profile sets to geometric representations of standard beams, columns, members, pipes, ducts and other longitudinal elements.

</p>


<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Axis'</li>


 <li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'Curve3D'</li>
 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBoundedCurve</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Axis" AttributeName="Value=Axis" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Curve3D" AttributeName="Value=Curve3D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="4f5777d7-68e9-459c-aa2c-46adf3e88d31" name="Footprint Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements filling a boundary provide a 'Footprint'
 representation indicating a rectangle or any arbitrary set
 of outer and inner boundary curves. Examples of such
 elements include slabs and spaces. For elements that have a material layer set association indicating material thicknesses,
 a 'Body' representation may be generated based on the
 footprint and material layers. Fill area styles may
 indicate particular colors, tiles, or hatching for 2D
 rendering.

</p>
<p>The representation identifier of the footprint geometric representation is:</p>
<ul>
 <li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> = 'FootPrint'</li>
</ul> ]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule RuleID="" AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="" AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Footprint" AttributeName="Value=Footprint" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=GeometricCurveSet" AttributeName="Value=GeometricCurveSet" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricCurveSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="" AttributeName="Elements" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="StyledByItem" Cardinality="ZeroToOne">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcCurveStyle" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="ZeroToOne">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcFillAreaStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="LayerAssignments" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPresentationLayerAssignment" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="9456d6d6-a62a-48b4-baff-be2e38baac9c" name="FootPrint GeomSet Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The 'FootPrint GeomSet Geometry' is the standard representation for the floor plan projection of the geometric representation of elements, comprising of mainly 2D curves</p>
<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric representation 
are used:</p>
<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> : 'FootPrint'</li>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'GeometricCurveSet'</li>

 <li><em>IfcShapeRepresentation</em><em>.Items</em> : <em>IfcGeometricCurveSet</li>
</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=FootPrint" AttributeName="Value=FootPrint" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=GeometricCurveSet" AttributeName="Value=GeometricCurveSet" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricCurveSet" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="608f0092-eb1a-4c23-b92f-f41ae0aa6ff4" name="FootPrint Annotation Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The 'FootPrint Annotation Geometry' is the representation for the floor plan projection of the geometric representation of elements, comprising of mainly 2D curves, hatches and additional annotations such as a tag number or similar.</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>
    <ul>

 <li>
<em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> : 'FootPrint'
</li>

 <li>
<em>IfcShapeRepresentation</em><em>.RepresentationType</em> : 'Annotation2D'
</li>
    
 <li><em>IfcShapeRepresentation</em><em>.Items</em> : 
  <ul>

   <li>subtypes of <em>IfcPoint</em> and <em>IfcCurve</em> being two-dimensional and
 within an <em>IfcGeometricCurveSet</em>
</li>

   <li>subtypes of <em>IfcAnnotationFillArea</em> for hatches
</li>

  <li>subtypes of <em>IfcTextLiteral</em> for text
</li>

  </ul>
 </li>

</ul>]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=FootPrint" AttributeName="Value=FootPrint" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="" AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Annotation2D" AttributeName="Value=Annotation2D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricCurveSet" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcAnnotationFillArea" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcTextLiteral" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="f16eb3be-ff88-4f33-97df-d55aed3a0f95" name="Profile Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements filling an opening provide a 'Profile' representation describing the shape of the cutout.  Examples of such elements include doors and windows.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Profile" AttributeName="Value=Profile" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Curve3D" AttributeName="Value=Curve3D" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPolyline" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Points" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="1d897220-740d-4793-9a8d-5d2774c7bc00" name="Profile 3D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Profile 3D Geometry</em> is the standard representation of the outer profile for elements filling an opening.  Examples of such elements include doors and windows.
 In the case of doors and windows the profile geometry is used to apply the parametric definition of lining and panel dimensions to the profile.</p>
<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Profile'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'Curve3D'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBoundedCurve</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Profile" AttributeName="Value=Profile" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Curve3D" AttributeName="Value=Curve3D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="2e99de70-fb73-478f-9bca-4fedfdeb4ea5" name="Surface Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements may have a 'Surface' representation describing the
 outer surface of the object. Such representation may be
 used for hit-testing objects having part composition such
 as framed walls.

</p>
      ]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Surface" AttributeName="Value=Surface" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Surface3D" AttributeName="Value=Surface3D" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoundedSurface" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="ZeroToOne">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSurfaceStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="bd82983d-39d5-41b2-9ee8-f3bd8777d315" name="Surface 3D Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Surface 3D Geometry</em> is the standard surfacic represenation for elements having a 'Surface' representation describing the
 inner or outer surface of the object, e.g. for defining thermal boundaries idealized at the middle plane of an element.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Surface'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'Surface3D'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBoundedSurface</em>, <em>IfcSweptSurface</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Surface" AttributeName="Value=Surface" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Surface3D" AttributeName="Value=Surface3D" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBoundedSurface" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcSweptSurface" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="c446bd16-2de3-4b97-b34f-4446ac0badc2" name="Body Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements may have a 'Body' representation describing the volumetric shape of the object. Such representation may be used for 3D rendering or quantity take-off. Geometry may be based on boundary representations describing outer faces, primitives such as spheres or cones, swept solids such as profile extrusions or revolutions, Constructive Solid Geometry (CSG) such as clippings or subtractions of other shapes, or Non-Uniform Rational B-Spline (NURBS) geometry. Surface styles may indicate particular colors, textures, and reflectance for 3D rendering.

</p>

<p>The representation identifier of the body representation
 is:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


</ul>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule RuleID="" EntityName="IfcSolidModel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="StyledByItem" Cardinality="ZeroToOne">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcStyledItem" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Styles" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcSurfaceStyle" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates>
                <ConceptTemplate uuid="fbbb70d8-52ee-4d90-972e-9ddb4c0a11ab" name="Body SurfaceOrSolidModel Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body SurfaceOrSolidModel Geometry</em> is the representation of the 3D shape of a product by surface or solid models and allows for a mixed representation.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'SurfaceOrSolidModel'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcTessellateditem</em>, <em>IfcShellBasedSurfaceModel</em>, <em>IfcFaceBasedSurfaceModel</em>, <em>IfcSolidModel</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=SurfaceOrSolidModel" AttributeName="Value=SurfaceOrSolidModel" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTessellatedItem" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcShellBasedSurfaceModel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcFaceBasedSurfaceModel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcSolidModel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="17d34a12-9403-40f4-bf82-65399be23c55" name="Body SurfaceModel Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body SurfaceModel Geometry</em> is the representation of the 3D shape of a product by surface models.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'SurfaceModel'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcTessellateditem</em>, <em>IfcShellBasedSurfaceModel</em>, <em>IfcFaceBasedSurfaceModel</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=SurfaceModel" AttributeName="Value=SurfaceModel" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTessellatedItem" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcFaceBasedSurfaceModel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcShellBasedSurfaceModel" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="5cfd4403-6545-4c6d-bc27-0a95a3d09950" name="Body Tessellation Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body Tessellation Geometry</em> is the representation of the 3D shape of a product by tessellated surface models.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'Tessellation'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcTessellateditem</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Tessellation" AttributeName="Value=Tessellation" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTessellatedItem" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="cb7c18fa-cf83-4db1-be1b-c013ba4ed672" name="Body SweptSolid Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body SweptSolid Geometry</em> is the representation of the 3D shape of a product by swept solid models, only allowing for the basic extruded area solids and revolved area solids.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'SweptSolid'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcExtrudedAreaSolid</em>, <em>IfcRevolvedAreaSolid</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=SweptSolid" AttributeName="Value=SweptSolid" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcExtrudedAreaSolid" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcRevolvedAreaSolid" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="5464785d-e5d1-4f75-9ecc-6cb39214705e" name="Body AdvancedSweptSolid Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body AdvancedSweptSolid Geometry</em> is the representation of the 3D shape of a product by swept solid models, including advanced sweeping operations, such as sweeping along any directrix and tapering.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'AdvancedSweptSolid'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcSweptAreaSolid</em>, <em>IfcSweptDiskSolid</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=AdvancedSweptSolid" AttributeName="Value=AdvancedSweptSolid" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcSweptAreaSolid" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcSweptDiskSolid" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="8fb923f5-b82d-48d2-ad29-d678ca473fda" name="Body Brep Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body Brep Geometry</em> is the representation of the 3D shape of a product by faceted boundary representation models.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'Brep'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcFacetedBrep</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Brep" AttributeName="Value=Brep" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcFacetedBrep" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="fc763575-50f1-4bc0-bbf2-382380152047" name="Body AdvancedBrep Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body Brep Geometry</em> is the representation of the 3D shape of a product by boundary representation models, including NURBS.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'AdvancedBrep'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcAdvancedBrep</em>, <em>IfcFacetedBrep</em></li>

</ul>
]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=AdvancedBrep" AttributeName="Value=AdvancedBrep" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcAdvancedBrep" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                        <EntityRule EntityName="IfcFacetedBrep" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="a0ab7630-6965-495e-be8f-d106fd2599c2" name="Body CSG Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body CSG Geometry</em> is the representation of the 3D shape of a product by Constructive Solid Geometry models.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'CSG'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcCSGSolid</em></li>

</ul>

<blockquote class="note">NOTE&nbsp; The <em>Items</em> <em>IfcBooleanResult</em> and <em>IfcPrimitive3D</em> shall also be allowed for compatibility with previous releases of the standard.</blockquote>]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=CSG" AttributeName="Value=CSG" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcCsgSolid" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
                <ConceptTemplate uuid="2cdbc2f5-9b0c-43ea-9d2a-9d72d0147e00" name="Body Clipping Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
                  <Definitions>
                    <Definition>
                      <Body><![CDATA[<p>The <em>Body Clipping Geometry</em> is the representation of the 3D shape of a product by using Constructive Solid Geometry models with difference operations involving half space solids only.

</p>

<p>The following attribute values for the
 <em>IfcShapeRepresentation</em> holding this geometric
 representation shall be used:</p>

<ul>
 
<li><em>IfcShapeRepresentation</em><em>.RepresentationIdentifier</em> =
'Body'</li>


 
<li><em>IfcShapeRepresentation</em><em>.RepresentationType</em> =
'Clipping'</li>


 
<li><em>IfcShapeRepresentation</em><em>.Items</em> =
 <em>IfcBooleanClippingResult</em></li>

</ul>

<blockquote class="note">NOTE&nbsp; This representation type is predominately used for compatibility with previous releases of the standard.</blockquote>]]></Body>
                      <Links />
                    </Definition>
                  </Definitions>
                  <Rules>
                    <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier" Cardinality="One">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule Description="Value=Clipping" AttributeName="Value=Clipping" Cardinality="_asSchema">
                                              <EntityRules />
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule RuleID="Items" AttributeName="Items" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBooleanClippingResult" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </Rules>
                  <SubTemplates />
                </ConceptTemplate>
              </SubTemplates>
            </ConceptTemplate>
            <ConceptTemplate uuid="0fdc2380-9ef0-41e9-b0dc-f01fd2f77e6c" name="Clearance Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements requiring surrounding space for clearance provide a 'Clearance' representation. The reason for clearance space may be due to ventilation, maintenance, or other purpose.  Examples of such elements include boilers and chillers.  Such representation may be used for interference checks, where the 'Clearance' representation must not intersect with the 'Body' representation of other objects, though may intersect with the 'Clearance' representation of other objects.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Clearance" AttributeName="Value=Clearance" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoundedSurface" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="a0002f8b-7b38-44ff-9bbb-862d6ccd54b1" name="Lighting Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements emitting light provide a 'Lighting' representation. Examples of such elements include lamps and light fixtures.  Such representation may be used for 3D rendering or lighting design.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Lighting" AttributeName="Value=Lighting" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=LightSource" AttributeName="Value=LightSource" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLightSource" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="LightColour" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcColourRgb" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="2a90f52f-7961-4dbd-8560-546e2d0b73bb" name="Survey Points Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcSite">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements may provide a 'SurveyPoints' representation for defining a countour such as for <i>IfcSite</i>.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=SurveyPoints" AttributeName="Value=SurveyPoints" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=GeometricCurveSet" AttributeName="Value=GeometricCurveSet" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricCurveSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Elements" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                            <EntityRule EntityName="IfcPolyline" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="ecfdd7c8-71d5-449f-bf20-e63a25dcb9ba" name="Mapped Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements may have a 'Mapped Geometry' representation
 that reuses the 'Product Type Representation' at the corresponding 'Product Type'.

</p>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules />
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="f041510e-b923-4bad-92de-b106692ec3c5" name="Box Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>
Elements may have a simplified 'Box' representation
 describing the dimensions of the smallest box bounding the
 object. Such representation may be used for more efficient
 spatial indexing or hit-testing.

</p>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Box" AttributeName="Value=Box" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=BoundingBox" AttributeName="Value=BoundingBox" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoundingBox" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Corner" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="XDim" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="YDim" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="ZDim" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="4bd6c9cf-6fd1-432e-9e6c-956bfd8b36bb" name="Row Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElementComponent">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>A symbolic representation is defined for a row of fasteners or several rows of
fasteners within a single instance of a product.  Such rows or arrays may
contain possibly large numbers of individual pieces.</p>

<p>Each <i>IfcPolyline</i> starting point represents where the head of a fastener
is located.  The local placement of the element shall be located and oriented such
that the local z axis is parallel with the axes of the fasteners (bolts, nails, staples or similar).</p>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Row" AttributeName="Value=Row" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=GeometricCurveSet" AttributeName="Value=GeometricCurveSet" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricCurveSet" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Elements" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPolyline" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Points" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                    <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="f7a8e906-22c1-49f9-921e-04d440f62dc5" name="Topology" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[
<p>

The topology of products may be represented in multiple ways
 for different purposes. Each representation has a
 well-known string identifier and a particular
 representation context. There may be multiple
 representation contexts to describe a topology for various uses.
</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules />
          <SubTemplates>
            <ConceptTemplate uuid="79dd6317-2390-44ca-88c2-70d46cd5b969" name="Reference Topology" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Structural activities may have a 'Reference' representation
 describing the distribution of a load.

</p>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Representation" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProductDefinitionShape" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Representations" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcTopologyRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Reference" AttributeName="Value=Reference" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Topology" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcTopologicalRepresentationItem" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="0626e774-a910-46df-89e0-f291617890ea" name="Port Types" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionPort">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Ports are described according to flow direction, port type, and system type. In order for two ports to be connected, they must have equal port type, equal or undefined system type, and opposite flow direction.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="FlowDirection" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcFlowDirectionEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcDistributionPortTypeEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule RuleID="SystemType" AttributeName="SystemType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcDistributionSystemEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="5ed93e91-faf6-4682-82f9-6f3b747de093" name="Space Predefined" status="" applicableSchema="IFC2X4" applicableEntity="IfcSpace">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Figure 50 illustrates an instance diagram.</p>
<table><tr><td><img alt="Space Predefined" src="./diagrams/space-predefined.png" usemap="#f50"><map name="f50"><area shape="rect" coords="8,8,176,356" href="../ifcproductextension/lexical/ifcspace.htm" alt="IfcSpace" /><area shape="rect" coords="208,8,376,20" href="../ifcproductextension/lexical/ifcspacetypeenum.htm" alt="IfcSpaceTypeEnum" /></map></td></tr><tr><td><p class="figure">Figure 50 &mdash; Space Predefined</p></td></tr></table>

<p>This concept is used by entities for exchanges as shown.</p>
<table class="exchange">
<tr><td></td><td><a href="../views/building-programming-information-exchange/basic.htm"><image width="16" src="../../img/mvd-basic.png" title="Basic"/></a></td>
<td><a href="../views/building-programming-information-exchange/advanced.htm"><image width="16" src="../../img/mvd-advanced.png" title="Advanced"/></a></td>
</tr><tr><td><i>IfcSpace</i></td><td><img width="16" src="../../img/attr-mandatory.png" title="Import Mandatory" /><br/><img width="16" src="../../img/attr-mandatory.png" title="Export Mandatory" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
</tr>
</table>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcSpaceTypeEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="bc6d5fa7-4e01-4595-b8eb-4f1fada00221" name="Site Location" status="" applicableSchema="IFC2X4" applicableEntity="IfcSite">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>The site location may be used to determine climate conditions and applicable building codes.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="RefLatitude" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcCompoundPlaneAngleMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="RefLongitude" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcCompoundPlaneAngleMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="RefElevation" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLengthMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="LandTitleNumber" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="SiteAddress" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcPostalAddress" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AddressLines" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Town" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Region" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Country" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="PostalCode" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="e84772bb-fa2e-43a9-8764-2caede0bc1bc" name="Building Location" status="" applicableSchema="IFC2X4" applicableEntity="IfcBuilding">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>The building location may indicate the address as found on a map.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ElevationOfRefHeight" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLengthMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="ElevationOfTerrain" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLengthMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="BuildingAddress" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcPostalAddress" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AddressLines" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Town" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Region" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="PostalCode" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Country" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="433df61b-bc59-4afe-a358-9f366b3f5f27" name="Building Storey Elevation" status="" applicableSchema="IFC2X4" applicableEntity="IfcBuildingStorey">
          <Definitions>
            <Definition>
              <Body><![CDATA[]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="Elevation" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLengthMeasure" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="d17ae27a-1ad6-471b-8775-404c8a59e0a2" name="Grid" status="" applicableSchema="IFC2X4" applicableEntity="IfcGrid">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Grids are used for layout according to rectangular, triangular or circular patterns</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="GridType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcGridTypeEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="UAxes" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcGridAxis" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AxisTag" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule RuleID="UCurve" AttributeName="AxisCurve" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule RuleID="" EntityName="IfcCurve" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="VAxes" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcGridAxis" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AxisTag" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule RuleID="VCurve" AttributeName="AxisCurve" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule RuleID="" EntityName="IfcCurve" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="80f88bec-0436-4f70-a42a-c04705656a81" name="Product Type" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeProduct">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Product types define explicit product models or parametric product families, that may be instantiated in buildings.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="ad332edd-42ee-4cc6-a86b-dd904bd3f762" name="Product Type Representation" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Product types may have representations indicating shape representation for geometry, clearance, or other concepts.</p>
<p>The shape representation attached to a type is defined using the relationship <em>RepresentationMaps</em> of data type <em>IfcRepresentationMap</em>. It provides the means to store several representation maps for different purposes. In order to utilze the representation map at each occurrence of the product type, the product occurrence has to use the concept 'Mapped Geometry'.</p>
<blockquote class="note">NOTE&nbsp; See <em>IfcTypeProduct</em> for further information and figures explaning the concepts 'Product Type Representation' and 'Mapped Geometry'.</blockquote>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules />
          <SubTemplates>
            <ConceptTemplate uuid="e10f140b-0bf8-4bde-9b8c-8980971063f1" name="Axis Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcElementType">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The Axis representation may be defined on product types that have a concept of a linear representation, which may also correspond to structural axis or distribution flow path.</p>

<p>For distribution elements, this represents the 3D flow path of the item having <em>IfcShapeRepresentation.RepresentationType</em> of 'Curve3D' and containing a single <em>IfcBoundedCurve</em> subtype such as <em>IfcPolyline</em>, <em>IfcTrimmedCurve</em>, or <em>IfcCompositeCurve</em>.  For elements containing directional ports (<em>IfcDistributionPort</em> with <em>FlowDirection</em> of <em>SOURCE</em> or <em>SINK</em>), the direction of the curve indicates direction of flow where a <em>SINK</em> port is positioned at the start of the curve and a <em>SOURCE</em> port is positioned at the end of the curve.  This representation is most applicable to flow segment types (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.</p>

<p>If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type.</p>

<blockquote class="note">NOTE&nbsp; The product representations are defined as representation maps (at the level of the supertype <em>IfcTypeProduct</em>, which get assigned by an element occurrence instance through the <em>IfcShapeRepresentation.Item[1]</em> being an <em>IfcMappedItem</em>.</blockquote>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="RepresentationMaps" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRepresentationMap" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="MappedRepresentation" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Axis" AttributeName="Value=Axis" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoundedCurve" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="3aec2d00-b4bb-476a-a821-fc22b895b531" name="Body Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeProduct">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The Body representation defines the physical shape of the product type.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="RepresentationMaps" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRepresentationMap" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="MappedRepresentation" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Body" AttributeName="Value=Body" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="RepresentationType" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationItem" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="MappingOrigin" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Location" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="6b6bcc41-3928-4db0-addb-58b771a27d19" name="Lighting Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionElementType">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>For elements that emit light such as lamps or light fixtures, this represents the light emission of the item having <em>IfcShapeRepresentation.RepresentationType</em> of 'LightSource' and containing one or more <em>IfcLightSource</em> subtypes.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="RepresentationMaps" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRepresentationMap" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="MappedRepresentation" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Lighting" AttributeName="Value=Lighting" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLightSource" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="f1ebb0f3-96c9-4912-a475-d012a23f8179" name="Clearance Geometry" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionElementType">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>For elements that require clearance such as for safety, maintenance, or other purpose, this represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation of other elements, though may intersect with the 'Clearance' representation of other elements.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="RepresentationMaps" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRepresentationMap" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="MappedRepresentation" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcShapeRepresentation" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="ContextOfItems" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcGeometricRepresentationContext" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="RepresentationIdentifier" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule Description="Value=Clearance" AttributeName="Value=Clearance" Cardinality="_asSchema">
                                          <EntityRules />
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Type" AttributeName="RepresentationType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Geometry" AttributeName="Items" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcSurface" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="5098cd13-bf4b-473a-a846-a60f69e9b738" name="Composition" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[
        <p>Objects may be composed into parts to indicate levels of
        detail, such as a building having multiple storeys, a
        framed wall having studs, or a task having subtasks.
        Composition may form a hierarchy of multiple levels, where
        an object must have a single parent, or if a top-level
        object then declared within the single project or a project library.</p>          
        
      ]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" name="Object Aggregation" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>An aggregation indicates an unordered part composition relationship between the whole structure, referred to as the "composite", and the subordinate components, referred to as the "parts". The concept of aggregation is used in various ways. Examples are:</p>



<ul>
<li>Aggregation is used on building elements to indicate parts such as studs within a wall;</li>



<li>Aggregation is used on spatial elements to indicate a spatial structure such as a story within a building;</li>



<li>Aggregation is used on systems to indicate subsystems such as branch circuits.</li>

</ul>
<p>Aggregation is a bi-directional relationship, the relationship from the composite to its parts is called Decomposition, and the relationship from the part to its composite is called Composition.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules />
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="IsDecomposedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatedObjects" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="Decomposes" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingObject" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObjectDefinition" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="ca0f65e2-3913-4fdb-8a09-0c5c7a0d5421" name="Element Composition" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Provision of an aggregation structure where the element is part of another element representing the composite. The part then provides, if such concepts are in scope of the Model View Definition, exclusively the following:</p>
<ul>
<li><em>Body Geometry</em> &mdash; The partial body shape representation and its placement;</li>
<li><em>Material</em> &mdash; The material information for the part.</li>
</ul>
<p>The part may also provide, in addition to the aggregate, more specificly the following:</p> 
<ul>
<li><em>Property Sets</em> &mdash; The parts may have individual property sets assigned, solely or in addition to the composite;</li>
<li><em>Quantity Sets</em> &mdash; The parts may have individual quantity sets assigned, solely or in addition to the composite.</li>
</ul>
<p>The part should not be contained in the spatial hierarchy, i.e. the concept <em>Spatial Containment</em> shall not be used at the level of parts. The part is contained in the spatial structure by the spatial containment of its composite.</p>
<blockquote class="example">EXAMPLE&nbsp; An <em>IfcBeam</em> may be aggregated into an element assembly using the objectified relationship <em>IfcRelAggregates</em>, refering to it by its inverse attribute </em>SELF\IfcObjectDefinition.Decomposes</em>. Any subtype of <em>IfcElement</em> can be an element assembly, with <em>IfcElementAssembly</em> as a special focus subtype. In this case it should not be additionally contained in the spatial hierarchy, i.e. <em>SELF\IfcElement.ContainedInStructure</em> should be NIL.</blockquote>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Decomposes" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Composite" AttributeName="RelatingObject" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="8a27c15a-c4ea-4ca9-8cce-7fbba1c9bce0" name="Element Decomposition" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Provision of an aggregation structure where the element, representing the composite, is decomposed into parts represented by other elements. </p>
<p>The composite then provides, if such concepts are in scope of the Model View Definition, exclusively the following:</p>
<ul>
<li><em>Placement</em> &mdash; the common object coordinate system to which the parts are placed relative</li>
</ul>
<p>By default the following constraints apply to an element being decomposed by <em>Element Decomposition</em>:</p>
<ul>
<li><em>Body Geometry</em> &mdash; composite is constructed from the sum of the <em>Body Geometry</em> of the parts;</li>
<li>the composite shall not have an own <em>Body Geometry</em>, body geometry is provided at the parts;</li>
<li>the composite shall not have an own <em>Material</em> assignment, material is assigned to the parts.</li>
</ul>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="IsDecomposedBy" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="RelatedObjects" AttributeName="RelatedObjects" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="8c0fd2f7-71bb-4e6e-8fdb-0c02b352f14a" name="Spatial Composition" status="" applicableSchema="IFC2X4" applicableEntity="IfcSpatialElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Provision of a spatial structure of the project by aggregating spatial structure elements. The spatial structure is a hierarchical tree of spatial structure elements (site, building, storey, space) ultimately assigned to the project. Composition refers to the relationship to a higher level element (e.g. this storey is part of a building).</p>
<p>The order of spatial structure elements being included in the concept are from high to low level: <em>IfcProject</em>, <em>IfcSite</em>, <em>IfcBuilding</em>, <em>IfcBuildingStorey</em>, <em>IfcSpace</em>. Therefore an spatial structure element can only be part of an element at the same or higher level.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="Decomposes" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Spatial Composite" AttributeName="RelatingObject" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcSpatialElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="667f8443-ecce-4a8d-a63f-931fab0453e0" name="Spatial Decomposition" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Provision of a spatial structure of the project by aggregating spatial structure elements. The spatial structure is a hierarchical tree of spatial structure elements (site, building, storey, space) ultimately assigned to the project. Decomposition refers to the relationship to lower level elements (e.g. this storey has spaces).</p>
<p>The order of spatial structure elements being included in the concept are from high to low level: <em>IfcProject</em>, <em>IfcSite</em>, <em>IfcBuilding</em>, <em>IfcBuildingStorey</em>, <em>fcSpace</em>. Therefore an spatial structure element can only has parts of an element at the same or lower level.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="IsDecomposedBy" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Spatial Parts" AttributeName="RelatedObjects" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcSpatialElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="b9005e79-b5c5-4c0b-9d86-046c21ad420d" name="Voiding" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Elements may have voids defined, which may be partial recess or extending full depth. Voids for openings may optionally be filled by another element such as a door or window.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasOpenings" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelVoidsElement" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatedOpening" AttributeName="RelatedOpening" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcVoidingFeature" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="38ca8788-5e47-411c-8294-d56f9e9a5691" name="Object Nesting" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Nesting indicates an ordered arrangement relationship. Nesting is used:</p>
<ul>
<li>on building elements to indicate features placed in sequence such as ports.</li>



<li>on control objects to indicate specification hierarchies.</li>



<li>on process objects to indicate subordinate task details.</li>


<li>on resource objects to indicate subordinate resource allocations.</li>
</ul>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsNestedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelNests" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" name="Ports" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Ports indicate possible connections to other objects according to specified system types, flow direction, and connection properties.  Ports are typically connected between devices via cables, pipes, or ducts.</p>
<p>Ports may have placement defined indicating the position and outward orientation of the port relative to the product or product type.</p>
<p>Ports may have material profile sets defined indicating the flow area and connection enclosure.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules />
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="IsNestedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelNests" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDistributionPort" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="Name" Description="The name of the port." AttributeName="Name" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Flow" Description="The flow direction of the port." AttributeName="FlowDirection" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcFlowDirectionEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="SystemType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDistributionSystemEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="ObjectPlacement" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLocalPlacement" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="RelativePlacement" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule RuleID="" AttributeName="Location" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="" AttributeName="Axis" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="" AttributeName="RefDirection" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="HasAssociations" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="RelatingMaterial" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcMaterialProfileSetUsage" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule RuleID="" AttributeName="ForProfileSet" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcMaterialProfileSet" Cardinality="_asSchema">
                                                  <AttributeRules>
                                                    <AttributeRule RuleID="" AttributeName="MaterialProfiles" Cardinality="_asSchema">
                                                      <EntityRules>
                                                        <EntityRule EntityName="IfcMaterialProfile" Cardinality="_asSchema">
                                                          <AttributeRules>
                                                            <AttributeRule RuleID="" AttributeName="Material" Cardinality="_asSchema">
                                                              <EntityRules>
                                                                <EntityRule EntityName="IfcMaterial" Cardinality="_asSchema">
                                                                  <AttributeRules />
                                                                  <EntityRules />
                                                                </EntityRule>
                                                              </EntityRules>
                                                              <AttributeConstraints />
                                                            </AttributeRule>
                                                            <AttributeRule RuleID="" AttributeName="Profile" Cardinality="_asSchema">
                                                              <EntityRules>
                                                                <EntityRule EntityName="IfcProfileDef" Cardinality="_asSchema">
                                                                  <AttributeRules />
                                                                  <EntityRules />
                                                                </EntityRule>
                                                              </EntityRules>
                                                              <AttributeConstraints />
                                                            </AttributeRule>
                                                          </AttributeRules>
                                                          <EntityRules />
                                                        </EntityRule>
                                                      </EntityRules>
                                                      <AttributeConstraints />
                                                    </AttributeRule>
                                                  </AttributeRules>
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="" AttributeName="IsDeclaredBy" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcRelDefinesByObject" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="" AttributeName="RelatingObject" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcDistributionPort" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule RuleID="" AttributeName="ObjectPlacement" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcLocalPlacement" Cardinality="_asSchema">
                                                  <AttributeRules>
                                                    <AttributeRule RuleID="" AttributeName="RelativePlacement" Cardinality="_asSchema">
                                                      <EntityRules>
                                                        <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                                                          <AttributeRules>
                                                            <AttributeRule RuleID="" AttributeName="Location" Cardinality="_asSchema">
                                                              <EntityRules>
                                                                <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                                                  <AttributeRules />
                                                                  <EntityRules />
                                                                </EntityRule>
                                                              </EntityRules>
                                                              <AttributeConstraints />
                                                            </AttributeRule>
                                                            <AttributeRule RuleID="" AttributeName="Axis" Cardinality="_asSchema">
                                                              <EntityRules>
                                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                                  <AttributeRules />
                                                                  <EntityRules />
                                                                </EntityRule>
                                                              </EntityRules>
                                                              <AttributeConstraints />
                                                            </AttributeRule>
                                                            <AttributeRule RuleID="" AttributeName="RefDirection" Cardinality="_asSchema">
                                                              <EntityRules>
                                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                                  <AttributeRules />
                                                                  <EntityRules />
                                                                </EntityRule>
                                                              </EntityRules>
                                                              <AttributeConstraints />
                                                            </AttributeRule>
                                                          </AttributeRules>
                                                          <EntityRules />
                                                        </EntityRule>
                                                      </EntityRules>
                                                      <AttributeConstraints />
                                                    </AttributeRule>
                                                  </AttributeRules>
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="" AttributeName="Name" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="" AttributeName="FlowDirection" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcFlowDirectionEnum" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule RuleID="" AttributeName="PredefinedType" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcDistributionSystemEnum" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="47b7b020-e010-40c8-b9e3-8234f1b5f563" name="Type-Based Ports" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionElementType">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Ports may be specified on types, following the same rules as defined for corresponding occurrences.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsNestedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelNests" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDistributionPort" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="FlowDirection" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcFlowDirectionEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="SystemType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDistributionSystemEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="ObjectPlacement" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLocalPlacement" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="RelativePlacement" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcAxis2Placement3D" Cardinality="_asSchema">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Location" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcCartesianPoint" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule AttributeName="Axis" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                            <AttributeRule AttributeName="RefDirection" Cardinality="_asSchema">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcDirection" Cardinality="_asSchema">
                                                  <AttributeRules />
                                                  <EntityRules />
                                                </EntityRule>
                                              </EntityRules>
                                              <AttributeConstraints />
                                            </AttributeRule>
                                          </AttributeRules>
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="3b8e69d9-2824-4ebb-bb95-e5271c122efc" name="Assignment" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p class="std">
Objects may provide services to other objects, where the
 "assigned from" object acts upon or observes requirements
 of the "assigned to" object. There is a general cycle of
 assignments where <a class="int-ref" href=
"../chapter-3.htm#actor">actors</a> (people) issue <a class=
"int-ref" href="../chapter-3.htm#control">controls</a> (such as
 work orders or schedules), which may result in <a class=
"int-ref" href="../chapter-3.htm#group">groups</a> (such as
        building systems) comprised of <a class="int-ref" href=
"../chapter-3.htm#product">products</a> (such as building
 elements) operated upon by <a class="int-ref" href=
"../chapter-3.htm#process">processes</a> (such as construction
 tasks) performed by <a class="int-ref" href=
"../chapter-3.htm#resource">resources</a> (such as labor) which
 may in turn be fulfilled by actors (people). Requirements
 are established at the "to" side and are fulfilled at the
 "from" side, where costs, time, scope, or other metrics may
 be calculated in the "from-to" direction.
</p>

 ]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="048079c1-74dd-4bd9-b330-479a148d238f" name="Actor Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcActor">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Actors may have assignments indicating objects for which they have responsibility.  An example of such assignment is a work order assigned to an organization.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsActingUpon" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToActor" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcControl" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="813e73fe-5641-4648-a680-8887cf4359f1" name="Control Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcControl">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Controls may have assignments indicating objects that must observe the established requirements.  An example of such assignment is a labor resource assigned to a calendar.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="Controls" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToControl" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="f567967f-5493-44d9-ac51-937c09ac2583" name="Group Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcGroup">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p><em>Group Assignment</em> established an arbitrary collection of objects within a group. The grouping relationship does not apply any other meaning then grouping objects under some aspect. It is non-hierarchical, that is objects can be grouped into different logical groups, and it does not interfere with other relationship concepts, such as <em>ObjectAggregation</em>.</p>

<p>The <em>Group Assignment</em> concept establish a given object as being the group collection for other objects. It usually implies the existence of a grouping relationship and the provision of some identity under which the group is characterized.</p>
<p>The group collection is handled by an instance of <em>IfcRelAssignsToGroup</em>, which assigns all group members to the <em>IfcGroup</em> being the collection.</p>

<ul>
<li>Objects included in group as collected items are linked by <em>IsGroupedBy</em> pointing to <em>IfcRelAssignsToGroup</em></li>
</ul>

<blockquote class="note">NOTE&nbsp; The <em>IfcGroup</em> maybe not yet have a grouping relationship established, it then identifies an empty group.</blockquote>
<blockquote class="example">EXAMPLE&nbsp; An air handler belonging to an air conditioning system is an example of such group assignment.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsGroupedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToGroup" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProduct" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="ec9cfb04-adfe-4868-8168-d78fe995a913" name="Product Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Products may have assignments indicating processes that operate upon the product.  An example of such assignment is a task to construct a wall.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ReferencedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToProduct" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcObject" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="e841d02b-ccfd-4d1f-9433-da4084658468" name="Process Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcProcess">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Processes may have assignments indicating resources consumed or occupied by the process.  An example of such assignment is a carpenter labor resource building a wall.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="OperatesOn" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToProcess" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcResource" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="26529b88-e45d-4818-a1ce-02ba12901b7e" name="Resource Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcResource">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Resources may have assignments indicating sources available to be used.  An example of such assignment is a person fulfilling a carpenter labor resource.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ResourceOf" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToResource" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcActor" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                        <EntityRule EntityName="IfcProduct" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="8b9545ad-f9e9-403d-8682-5460bfeb2706" name="Product Type Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeProduct">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Product types may have assignments indicating re-usable process types for which occurrences may operate on occurrences of the product type.  An example of such assignment is a task type for placing concrete in slabs on grade.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ReferencedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToProduct" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTypeProcess" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="eddb0a80-6bd8-4364-85fc-6d5dd2bb17e7" name="Process Type Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeProcess">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Process types may have assignments indicating re-usable resource types for which occurrences may be consumed or occupied by occurrences of the process type.  An example of such assignment is a concrete mixer resource type for delivering concrete.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="OperatesOn" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToProcess" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTypeResource" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="d8197dee-4bdc-4aba-bb57-4c6678ce70dc" name="Resource Type Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeResource">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Resource types may have assignments indicating re-usable product types for which occurrences may be sourced by occurrences of the resource type.  An example of such assignment is a particular crane model that may be used for a crane equipment resource used for erecting steel.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ResourceOf" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelAssignsToResource" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTypeProduct" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="252a5fa6-cc5b-4d30-bd0c-35e22e336499" name="Connectivity" code="" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p class="std">
        Objects may participate in various connectivity
        relationships with other objects.
      </p>
]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="81bc486c-1976-4e11-a469-cff2f70f123e" name="Spatial Structure" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Spatial structures, such as site, building, storey, or spaces, may contain physical elements, including building elements, distribution elements, and furnishing elements. The containment relationship between the physical elements and the spatial structures is hierarchical, i.e. a physical element shall only be contained within a single spatial structure.</p>

<blockquote class="example">EXAMPLE&nbsp; An <em>IfcBeam</em> is placed within the spatial hierarchy using the objectified relationship <em>IfcRelContainedInSpatialStructure</em>, refering to it by its inverse attribute <em>SELF\IfcElement.ContainedInStructure</em>. Subtypes of <em>IfcSpatialStructureElement</em> are valid spatial containers, with <em>IfcBuildingStorey</em> being the default container. </blockquote>

<p>The spatial containment relationship, together with the Spatial decomposition relationship, being hierarchical as well, establishes the hiearchical project tree structure in a building information model.</p> 

<blockquote class="example">EXAMPLE&nbsp; The <em>IfcBuildingStorey</em> that logically contains the <em>IfcBeam</em> decomposes the <em>IfcBuilding</em> using the <em>IfcRelAggregates</em> relationship. Therefore the <em>IfcBeam</em> is also indirectly contained in the building. </blockquote>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules />
          <SubTemplates>
            <ConceptTemplate uuid="61dd08ed-fd01-4955-9337-8afd284a0e6f" name="Spatial Container" status="" applicableSchema="IFC2X4" applicableEntity="IfcSpatialStructureElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The <em>Spatial Container</em> concept defines a spatial structure element as being the spatial container for physical elements, such as building elements, distribution elements, or furnishing elements.</em>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="ContainsElements" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelContainedInSpatialStructure" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatedElements" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="d9a3f822-0014-4bc2-8d94-9d9067759045" name="Spatial Containment" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The <em>Spatial Containment</em> concept defines the relationship of physical elements, such as building elements, distribution elements, or furnishing elements as being contained within a spatial structure element.</em>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="ContainedInStructure" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelContainedInSpatialStructure" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Structure" AttributeName="RelatingStructure" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcSpatialStructureElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="33d30909-8fee-41f9-b8de-33c3b01cc335" name="Space Coverings" status="" applicableSchema="IFC2X4" applicableEntity="IfcSpace">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="HasCoverings" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelCoversSpaces" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatedCoverings" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcCovering" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="CoveringType" AttributeName="PredefinedType" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCoveringTypeEnum" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="6ae2d514-e2bd-4a24-b984-9b11725fc7db" name="Space Boundaries" status="" applicableSchema="IFC2X4" applicableEntity="IfcSpace">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Spaces may have boundaries defined by building elements such as walls, slabs, doors, and windows.  Such information may be used to determine heat transmission through surrounding materials.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="BoundedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelSpaceBoundary" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatedBuildingElement" AttributeName="RelatedBuildingElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="17e42301-4a59-4945-b62b-2c64f6ca6c12" name="Element Connectivity" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Elements may be connected to other elements, where the <i>RelatingElement</i> is of equal or higher priority, is generally constructed first, and/or anchors the <i>RelatedElement</i>.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ConnectedFrom" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelConnectsElements" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatedElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates>
            <ConceptTemplate uuid="50170395-87c6-492e-a6fc-9f5f840b114f" name="Path Connectivity" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Elements based on an 'Axis' representation such as walls, beams, and columns use a path connectivity relationship to indicate parameters for the connection, indicating which side takes precedence for material layers or profiles.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="ConnectedFrom" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelConnectsPathElements" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="RelatedElement" AttributeName="RelatedElement" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="ConnectionGeometry" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcConnectionCurveGeometry" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="CurveOnRelatingElement" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPolyline" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="CurveOnRelatedElement" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPolyline" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
            <ConceptTemplate uuid="16fe846f-32b1-4595-bbb0-c4ad053dab24" name="Port Connectivity" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionPort">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Ports on objects may be connected using elements such as cables, ducts, or pipes.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Rules>
                <AttributeRule AttributeName="ConnectedTo" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRelConnectsPorts" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RelatedPort" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcDistributionPort" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="RealizingElement" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcFlowSegment" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </Rules>
              <SubTemplates />
            </ConceptTemplate>
          </SubTemplates>
        </ConceptTemplate>
        <ConceptTemplate uuid="d1d8208b-51e5-4a8f-92ba-e3a2ea2bcb9c" name="Control Flow" status="" applicableSchema="IFC2X4" applicableEntity="IfcDistributionControlElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Control elements (such as sensors) that monitor or control behavior of flow elements (such as valves) use this relationship to indicate control flow logical behavior.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="AssignedToFlowElement" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelFlowControlElements" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="Type" AttributeName="RelatingFlowElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDistributionFlowElement" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="06674893-7a2c-493b-8eb5-e85a058707b3" name="Element Filling" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Elements such as doors and windows may be placed inside openings of walls, slabs, or other elements.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="FillsVoids" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelFillsElement" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingOpeningElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcOpeningElement" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="VoidsElements" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcRelVoidsElement" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule RuleID="Type" AttributeName="RelatingElement" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule RuleID="" EntityName="IfcElement" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="9390ca72-d8e2-482b-9986-e0e1d15e7194" name="Structural Activity" status="" applicableSchema="IFC2X4" applicableEntity="IfcStructuralActivity">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Figure 39 illustrates an instance diagram.</p>
<table><tr><td><img alt="Structural Activity" src="../../../figures/structural-activity.png" usemap="#f39"><map name="f39"><area shape="rect" coords="208,8,376,32" href="../ifcstructuralloadresource/lexical/ifcstructuralload.htm" alt="IfcStructuralLoad" /><area shape="rect" coords="208,44,376,128" href="../ifcstructuralanalysisdomain/lexical/ifcrelconnectsstructuralactivity.htm" alt="IfcRelConnectsStructuralActivity" /><area shape="rect" coords="408,8,576,260" href="../ifcstructuralanalysisdomain/lexical/ifcstructuralitem.htm" alt="IfcStructuralItem" /></map></td></tr><tr><td><p class="figure">Figure 39 &mdash; Structural Activity</p></td></tr></table>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="AppliedLoad" AttributeName="AppliedLoad" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcStructuralLoad" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="AssignedToStructuralItem" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelConnectsStructuralActivity" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatingElement" AttributeName="RelatingElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcStructuralItem" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="f4f75d4f-6d38-4cbe-9efb-dfb58440dfcb" name="Structural Connectivity" status="" applicableSchema="IFC2X4" applicableEntity="IfcStructuralMember">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Figure 40 illustrates an instance diagram.</p>
<table><tr><td><img alt="Structural Connectivity" src="../../../figures/structural-connectivity.png" usemap="#f40"><map name="f40"><area shape="rect" coords="208,8,376,140" href="../ifcstructuralanalysisdomain/lexical/ifcrelconnectsstructuralmember.htm" alt="IfcRelConnectsStructuralMember" /><area shape="rect" coords="408,8,576,284" href="../ifcstructuralanalysisdomain/lexical/ifcstructuralconnection.htm" alt="IfcStructuralConnection" /></map></td></tr><tr><td><p class="figure">Figure 40 &mdash; Structural Connectivity</p></td></tr></table>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="ConnectedBy" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelConnectsStructuralMember" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="StructuralConnection" AttributeName="RelatedStructuralConnection" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcStructuralConnection" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="c9f11880-8cf6-47fe-abac-05c73b4041b1" name="Sequential Connectivity" status="" applicableSchema="IFC2X4" applicableEntity="IfcProcess">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Processes that occur in time use this relationship to indicate the order of occurrence, such as for tasks, procedures, and events.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="IsPredecessorTo" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelSequence" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatedProcess" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProcess" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="IsSuccessorFrom" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelSequence" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingProcess" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcProcess" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="300e62e0-5ecd-464c-9d12-0eb24671f8c7" name="Interference" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Elements may interfere with other elements, such as cable carriers going through walls. 
The interference relation enables precedence of interfering elements to be asserted.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="InterferesElements" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelInterferesElements" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingElement" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcElement" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="ecc9d997-c6dc-4853-a636-a8c029f8c5db" name="Space Coverings" status="" applicableSchema="IFC2X4" applicableEntity="IfcCovering">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Spaces may have coverings applied to fill surrounding flooring, walls, ceilings, or other aspects parametrically.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="CoversSpaces" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelCoversSpaces" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RelatingSpace" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcSpace" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules />
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="b9005e79-b5c5-4c0b-9d86-046c21ad420d" name="Voiding" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Elements may have voids defined, which may be partial recess or extending full depth.  Vodis for openings may optionally be filled by another element such as a door or window.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="HasOpenings" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcRelVoidsElement" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="RelatedOpening" AttributeName="RelatedOpening" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcVoidingFeature" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="ccb45aa2-74e1-46e8-8e35-ca5e5d7cc9dd" name="Roots" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[      <p class="std">

        All entities having semantic significance derive from <i>IfcRoot</i>, where instances are identifiable within a data set using a

        compressed globally unique identifier (IFC-GUID). This identifier must never change during the lifetime of an

        object, which allows data to be merged, versioned, or referenced from other locations.

      </p>

      <p>

        Resource-level instances (not deriving from <i>IfcRoot</i>) do not have any identity, such that two instances

        having identical state are considered equal. For example, if an object has coordinates described by an

        <i>IfcCartesianPoint</i> instance, another object with the same coordinates may have a separate instance of

        <i>IfcCartesianPoint</i> or share the same instance; such difference is a matter of data storage optimization

        and does not imply any semantic relationship. This also implies that non-rooted instances may only exist if

        referenced by at least one rooted instance through either a direct attribute or inverse attribute, or following

        a chain of attribute references on instances.

      </p>

      <p>

        The distinction between rooted and non-rooted (resource-level) entities achieves several goals:

      </p>

      <ul class="ref">

        <li class="std">File size may be reduced by interning (sharing) non-rooted data instances;

        </li>

        <li class="std">Database retrieval may be more efficient by storing non-rooted data local to rooted data

        instances;

        </li>

        <li class="std">Storage size may be reduced by avoiding IFC-GUID storage for items not requiring direct

        retrieval;

        </li>

        <li class="std">Comparisons of differences may be done at a higher level where the context of such change is

        apparent;

        </li>

        <li class="std">Implementations may treat non-rooted data instances as immutable for efficiency or simplified

        usage.

        </li>

      </ul>

]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" name="Identity" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p class="std">

An object needs to be identifiable for accurate processing by both human and automated processes. Identification may be through several attributes such as Identifcation, Name, Description or GUID. The GUID is compressed for the purpose of being exchanged within an IFC data set - the compressed GUID is refered to as "IFC-GUID". While the IFC-GUID is normally generated automatically and has to be persistent, the Identification may relate to other informal registers but should be unique within the set of objects of the same type. The Name and Description should allow any object to be identified in the context of the project or facility being modelled.

</p>

      <p class="std">

        Various objects may have additional identifications that may be human-readable and/or may be structured through classification association.

      </p>

<p>

Various file formats may use additional identifications of instances for serialization purposes, however there is no requirement or guarantee for such identifications to remain the same between revisions or across applications. For example, the IFC-SPF file format lists each instance with a 64-bit integer that is unique within the particular file.

</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="GlobalId" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcGloballyUniqueId" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="Name" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="Description" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcText" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="b441c773-3fdc-42b6-a323-ad268dcd85f2" name="Revision Control" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[      <p class="std">

        While objects may reflect a final state, they may also be continually revised over the course of a project

        lifecycle and reflect transient state. For scenarios of multiple users making updates to the same information,

        there is a concept of local copies of information based upon a shared repository supporting multiple users.

        Such shared repository is often referred to as a <i>model server</i>. A model server is similar in concept to a

        document revision server, but is able to identify changes declared on a per-object basis rather than inferring

        changes from differences in text. A model server has a concept of revisions on a per-project basis, where each

        revision consists of a set of changes to contained objects by a particular user at a particular time.

      </p>

      <p class="std">

        To support a model server scenario, each object may be marked with a <i>change action</i> indicating the object

        was added, modified, deleted, or has no change since the project was retrieved from the server at a particular

        revision sequence. Given an object's identity (IFC-GUID) and change action, the state of the object may be

        merged when submitted to a model server. An object is considered modified when any of its <a class="int-ref"

        href="../chapter-3.htm#direct-attribute">direct attributes</a> change, attributes on a referenced resource

        definition (any entity not deriving from <i>IfcRoot</i>) change, items are added or removed from sets, or items

        are added, removed, or reordered within lists.

      </p>

      <p class="std">

        For cases when multiple users make conflicting changes to the same objects, users may choose to keep their own

        changes, accept changes from others, merge both changes, or a combination thereof upon submitting to a server.

        Alternatively, to avoid such merge scenario and coordinate work, objects may be locked such that a particular

        user has exclusive access to read and/or write a particular object at the current time.

      </p>

      <p class="std">

        Project libraries may also be retrieved from model servers having particular revision, and potentially

        different server URI than the referencing Project. As a project may include multiple revisions of the same

        project library (a common scenario when multiple users are involved using libraries revised by others), the

        IfcRoot.ObjectIdentifier IFC-GUID is only valid within the scope of the referencing project, and a separate

        <i>library reference</i> identifies a project library based object within its originating model server.

      </p>

      <p class="std">

        Finally, objects may also carry informational attributes indicating when an object was created, who, when, and

        what application was used to last modify an object, and who currently owns the object, potentially having

        exclusive use according to its lock state.

      </p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="OwnerHistory" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcOwnerHistory" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="OwningUser" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcPersonAndOrganization" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="ThePerson" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcPerson" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="TheOrganization" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcOrganization" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="OwningApplication" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcApplication" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="ApplicationDeveloper" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcOrganization" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="State" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcStateEnum" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="ChangeAction" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcChangeActionEnum" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="CreationDate" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTimeStamp" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="e6acde2d-086e-4ca7-ba4b-08c1ad1c12ef" name="Resource" status="" applicableSchema="IFC2X4" applicableEntity="IfcResource">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>A resource represents usage of something, having costs and environmental impacts.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="678111f9-565e-4c1d-b8c3-d218c4ccd056" name="Resource Cost" status="" applicableSchema="IFC2X4" applicableEntity="IfcConstructionResource">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Resources can have associated costs indicating financial costs and environmental impacts incurred according to a specified base quantity.</p>
<p>Each cost value may be defined using a constant amount or calculated according to specified formula.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="CostType" AttributeName="BaseCosts" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcAppliedValue" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="CostName" AttributeName="Name" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule RuleID="ValueType" AttributeName="AppliedValue" Cardinality="_asSchema">
                      <EntityRules />
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="a057d708-23d4-47d2-a84d-89ffc93d8fe8" name="Resource Quantity" status="" applicableSchema="IFC2X4" applicableEntity="IfcConstructionResource">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Resources may be defined according to a base quantity, where assigned tasks consume such amount of resource relative to an output quantity.</p>

<p>For work-based resources such as labor and equipment, quantities are based on time.
For product-based resources, quantities are based on count.  
For material-based resources, quantities are based on volume.</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="QuantityType" AttributeName="BaseQuantity" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcPhysicalSimpleQuantity" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule RuleID="QuantityName" AttributeName="Name" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="81d3219b-30d7-4ffe-90ab-8d7c35d251b6" name="Process" status="" applicableSchema="IFC2X4" applicableEntity="IfcProcess">
      <Definitions>
        <Definition>
          <Body><![CDATA[A process is an occurence of an object with finite temporal extent.]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="2aef7708-5748-4750-94da-15038256dd3a" name="Task Scheduling" status="" applicableSchema="IFC2X4" applicableEntity="IfcTask">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Tasks may be scheduled to run continously, at a single period in time, or multiple recurring periods in time.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="TaskTime" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcTaskTimeRecurring" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="ScheduleStart" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="ScheduleFinish" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="ScheduleDuration" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDuration" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Recurrance" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcRecurrencePattern" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="RecurrenceType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcRecurrenceTypeEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="DayComponent" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDayInMonthNumber" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="WeekdayComponent" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcDayInWeekNumber" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="MonthComponent" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcMonthInYearNumber" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Position" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcInteger" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Interval" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcInteger" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="Occurrences" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcInteger" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="TimePeriods" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcTimePeriod" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="StartTime" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTime" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="EndTime" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTime" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="de36718f-0507-4f5c-9dbd-88232e9a5457" name="Event Types" status="" applicableSchema="IFC2X4" applicableEntity="IfcEvent">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Events may indicate whether they represent the start of a condition, intermediate status of a condition, or exiting of a condition.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcEventTypeEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="35fcafd8-7032-4af5-a5be-26c41dca5fca" name="Event Triggers" status="" applicableSchema="IFC2X4" applicableEntity="IfcEvent">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Events may be scheduled to be raised at particular intervals or handled upon particular conditions.</p>

]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule RuleID="EventTriggerType" AttributeName="EventTriggerType" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcEventTriggerTypeEnum" Cardinality="_asSchema">
                  <AttributeRules />
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
            <AttributeRule AttributeName="EventOccurenceTime" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcEventTime" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="ScheduleDate" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="191f64fc-4eb2-4542-a6d7-2224157579c1" name="Process Type" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Process types define explicit process models or parametric process families, that may be instantiated in schedules.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="5929fb90-3af9-41f9-9675-67c687a05218" name="Actor" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="121650c9-a1f4-4559-a1a2-e189c400cdfe" name="Contact" status="" applicableSchema="IFC2X4" applicableEntity="IfcActor">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Contact information indicates roles and addresses of people and organizations.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="TheActor" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcOrganization" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Roles" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcActorRole" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule RuleID="Role" AttributeName="Role" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule RuleID="UserDefinedRole" AttributeName="UserDefinedRole" Cardinality="_asSchema">
                              <EntityRules />
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Addresses" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcTelecomAddress" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="ElectronicMailAddresses" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="61405b1f-cfcf-4ac8-b636-891892b3f0a7" name="Control" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="8f46f419-f1d8-4dd9-bc33-d8c64c16b04b" name="Cost" status="" applicableSchema="IFC2X4" applicableEntity="IfcCostItem">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Cost information is used to indicate rate structures within a cost schedule which are applicable to assigned objects.
</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="CostValues" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcCostValue" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AppliedValue" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcMonetaryMeasure" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="ApplicableDate" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDate" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="FixedUntilDate" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDate" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
        <ConceptTemplate uuid="2550551e-bf70-4c09-a0c7-9d838380ebfe" name="Calendar" status="" applicableSchema="IFC2X4" applicableEntity="IfcWorkCalendar">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Calendar information is used to filter other objects to indicate time periods during which the control applies.
</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="WorkingTimes" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcWorkTime" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="RecurrencePattern" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcRecurrencePattern" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="RecurrenceType" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcRecurrenceTypeEnum" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="TimePeriods" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcTimePeriod" Cardinality="_asSchema">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="StartTime" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTime" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                    <AttributeRule AttributeName="EndTime" Cardinality="_asSchema">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTime" Cardinality="_asSchema">
                                          <AttributeRules />
                                          <EntityRules />
                                        </EntityRule>
                                      </EntityRules>
                                      <AttributeConstraints />
                                    </AttributeRule>
                                  </AttributeRules>
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Start" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDate" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="Finish" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcDate" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="ade59c14-5675-49a6-9622-6b5e585d7dca" name="Resource Type" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules />
      <SubTemplates>
        <ConceptTemplate uuid="ff176f32-6953-48e7-8893-697ef422ab96" name="Resource Cost Rate" status="" applicableSchema="IFC2X4" applicableEntity="IfcConstructionResourceType">
          <Definitions>
            <Definition>
              <Body><![CDATA[]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Rules>
            <AttributeRule AttributeName="BaseCosts" Cardinality="_asSchema">
              <EntityRules>
                <EntityRule EntityName="IfcCostValue" Cardinality="_asSchema">
                  <AttributeRules>
                    <AttributeRule AttributeName="AppliedValue" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcMonetaryMeasure" Cardinality="_asSchema">
                          <AttributeRules />
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                    <AttributeRule AttributeName="UnitBasis" Cardinality="_asSchema">
                      <EntityRules>
                        <EntityRule EntityName="IfcMeasureWithUnit" Cardinality="_asSchema">
                          <AttributeRules>
                            <AttributeRule AttributeName="ValueComponent" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcValue" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                            <AttributeRule AttributeName="UnitComponent" Cardinality="_asSchema">
                              <EntityRules>
                                <EntityRule EntityName="IfcUnit" Cardinality="_asSchema">
                                  <AttributeRules />
                                  <EntityRules />
                                </EntityRule>
                              </EntityRules>
                              <AttributeConstraints />
                            </AttributeRule>
                          </AttributeRules>
                          <EntityRules />
                        </EntityRule>
                      </EntityRules>
                      <AttributeConstraints />
                    </AttributeRule>
                  </AttributeRules>
                  <EntityRules />
                </EntityRule>
              </EntityRules>
              <AttributeConstraints />
            </AttributeRule>
          </Rules>
          <SubTemplates />
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="3e2a660e-2652-48dc-9408-46e931aa1941" name="Metadata" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>A common set of attributes are used to identify an object and provide authoring information indicating the person and application that last modified the object.</p>

<p>The <i>GlobalId</i> uniquely identifies an object, and must never change during the lifetime of an object.  This identifier is a 128-bit GUID, and is represented as an encoded string using a reduced character set. Upon importing data, the GlobalId shall be used for uniquely identifying an object where available; if no such GUID is available, then the <i>Name</i> shall be relied upon for identifying referenced objects.</p>

<p>The <i>Name</i> attribute provides a human-readable identifier for an object.  For IFC files, such designation does not have any special requirements, however for COBie, each object must have a unique name within the project, in order to support referencing of tabular data from spreadsheets.  It may include any combination of alphanumeric characters (A-Z, a-z, 0-9), dash, underscore, space, and period.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="GlobalId" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcGloballyUniqueId" Cardinality="_asSchema">
              <AttributeRules />
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
        <AttributeRule AttributeName="OwnerHistory" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcOwnerHistory" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="OwningUser" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcPersonAndOrganization" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="ThePerson" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPerson" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="OwningApplication" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcApplication" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="ApplicationIdentifier" Cardinality="_asSchema">
                          <EntityRules />
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="CreationDate" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcTimeStamp" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
              <AttributeRules />
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
        <AttributeRule AttributeName="Description" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcText" Cardinality="_asSchema">
              <AttributeRules />
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="662bedb7-634a-4ab7-93ff-04feb9df7286" name="Mappings" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>COBie data may be captured in spreadsheets such as Microsoft Excel using the SpreadsheetML open format.</p>

<p>To support automated mapping, the IFC constraint model may be used to indicate persistent connections between data in the IFC model and external documents.  This concept template may also be used by software applications to translate data to/from spreadsheets without necessarily instantiating constraint relationships within an IFC data set.</p>

<p>To indicate an explicit mapping to a particular file or database, IFC classes may be mapped to tabular data formats using <i>IfcResourceConstraintRelationship</i> attached to <i>IfcDocumentInformation</i>.</p>

<p>To indicate default mappings, entities may use the <i>IfcRelAssociatesConstraint</i> relationship, with <i>RelatingConstraint</i> pointing to <i>IfcObjective</i>.</p>

<p>An <i>IfcObjective</i> of type <i>EXTERNAL</i> has <i>ConstraintSource</i> set to the name of the IFC entity (e.g. 'IfcSpace') with <i>Benchmarks</i> containing a single <i>IfcMetric</i> with <i>DataValue</i> set to an <i>IfcTable</i>. On <i>IfcTable</i>, the <i>Name</i> is set to the name of the external database table or worksheet, and the <i>Columns</i> attribute indicates the external table columns in order as <i>IfcTableColumn</i>. For each <i>IfcTableColumn</i>, the <i>Name</i> indicates the field name or column header, and the <i>Reference</i> identifies the corresponding object attribute, for which standard mappings are indicated.</p>

<p>Within this document, attribute paths (as used for <i>IfcReference</i>) are encoded using syntax in the form 'IfcSpace.OwnerHistory\IfcOwnerHistory.CreationDate' with the following conventions:</p>
<ul>
<li>The period character dereferences an attribute from an entity.</li>
<li>The backslash character casts an entity into a subtype, where a backslash without a subtype indicatings mapping to the type itself.</li>
<li>A bracket sequence with an asterisk ("[*]") dereferences a collection into each member.</li> 
<li>A bracket sequence with an encoded string (e.g. "['SerialNumber']" dereferences a collection into a specific member by name.</li>
</ul>

<p>Upon import from a spreadsheet, tables shall be identified by worksheet name regardless of order, and columns shall be identified by header name regardless of order.  For export to a new spreadsheet, worksheets shall be provided with identifying name for each entity, and within each worksheet a header row shall be provided with with each column having an identifying name and sequenced in the order specified.</p>

<p>Attributes are mapped to spreadsheet cells, where the reserved value 'n/a' indicates a null value.  Specific base types are mapped as follows:</p>
<ul>
<li><b>STRING</b>: String types are represented as strings.</li>
<li><b>REAL</b>: Real number types are represented as real numbers.</li>
<li><b>ENTITY</b> Entity references are represented as strings identifying by name (<i>IfcRoot</i>.<i>Name</i>).</li>
<li><b>SET</b> Set-based collections are represented as strings identifying each object by name and separated by a comma.</li>
</ul>

<p>Specific mappings are defined at corresponding entities, where the following standard column names are used:</p>
<ul>
<li><b>Name</b>: Indicates the name of the object, corresponding to <i>IfcRoot</i>.<i>Name</i>.</li>
<li><b>ExtObject</b>: Indicates the IFC type of the object by identifying the IFC entity by name (e.g. 'IfcBoiler').  If omitted upon import, the IFC entity shall be the base type where the concept is indicated.</li>
<li><b>ExtSystem</b>: Indicates the application that currently owns the object, mapping to <i>IfcApplication</i>.<i>ApplicationIdentifier</i>.</li>
<li><b>ExtIdentifier</b>: Indicates the GUID of the object, mapping to <i>IfcRoot</i>.<i>GlobalId</i>.  If omitted upon import, such GUID shall be constructed dynamically.  If merging changes upon import, such identifier shall be used to identify an existing object (i.e. this maintains identity if an object is renamed (the <i>Name</i> attribute changing).</li>
</ul>

]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesConstraint" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingConstraint" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcObjective" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="BenchmarkValues" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMetric" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="DataValue" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcTable" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule RuleID="Table" AttributeName="Name" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Columns" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcTableColumn" Cardinality="_asSchema">
                                              <AttributeRules>
                                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="Reference" AttributeName="Description" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcText" Cardinality="_asSchema">
                                                      <AttributeRules />
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Unit" Cardinality="_asSchema">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcContextDependentUnit" Cardinality="_asSchema">
                                                      <AttributeRules>
                                                        <AttributeRule RuleID="Unit" AttributeName="Name" Cardinality="_asSchema">
                                                          <EntityRules>
                                                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                                              <AttributeRules />
                                                              <EntityRules />
                                                            </EntityRule>
                                                          </EntityRules>
                                                          <AttributeConstraints />
                                                        </AttributeRule>
                                                      </AttributeRules>
                                                      <EntityRules />
                                                    </EntityRule>
                                                  </EntityRules>
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                                <AttributeRule RuleID="Color" AttributeName="Description" Cardinality="_asSchema">
                                                  <EntityRules />
                                                  <AttributeConstraints />
                                                </AttributeRule>
                                              </AttributeRules>
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="ReferencePath" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcReference" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="ObjectiveQualifier" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcObjectiveEnum" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule Description="Value=EXTERNAL" AttributeName="Value=EXTERNAL" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="50fc26ec-9f42-4999-aeca-4850230b3325" name="Classification" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Objects may be classified, where a particular OmniClass table must be used as indicated for specific types.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesClassification" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingClassification" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcClassificationReference" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="ReferencedSource" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcClassification" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="Source" AttributeName="Source" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule RuleID="" EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Tokens" AttributeName="ReferenceTokens" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="c6bee2d8-6654-41cf-9566-4809223845a4" name="Documents" status="" applicableSchema="IFC2X4" applicableEntity="IfcObjectDefinition">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>External files may be referenced within a project using <i>IfcDocumentInformation</i> and the <i>IfcRelAssociatesDocument</i> relationship.  An <i>IfcProxy</i> instance may serve as an arbitrary placeholder for a document.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesDocument" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingDocument" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcDocumentInformation" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Location" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcURIReference" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Description" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcText" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="f98c0dd2-c748-4829-9a7e-e350dd5c1e4e" name="Composition" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Objects may be composed into parts to indicate levels of detail, such as a building having multiple storeys, a framed wall having studs, or a task having subtasks. Composition may form a hierarchy of multiple levels, where an object must have a single parent, or if a top-level object then declared within the single project or a project library.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="Decomposes" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAggregates" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule RuleID="Type" AttributeName="RelatingObject" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcObject" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="e40ce969-132e-4e40-b2d1-adc078e755bc" name="Typing" status="" applicableSchema="IFC2X4" applicableEntity="IfcProduct">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Object occurrences may be defined by a particular Object Type, where such type describes common characteristics. Such characteristics include common properties, shapes, materials, composition, and other concepts described at particular entities. An object occurrence may have similar state as its object type, overridden state for particular characteristics, or have no defined type object.</p>

<p>A pair of entities are defined for various object occurrences and object types, where such object occurrence entity may only be defined using a particular object type entity. For example, the <i>IfcTank</i> occurrence object entity has a corresponding <i>IfcTankType</i> type object entity.</p>

<p>Many object occurrence and object type entities have an attribute named <i>PredefinedType</i> consisting of a specific enumeration. Such predefined type essentially provides another level of inheritance to further differentiate objects without the need for additional entities. Predefined types are not just informational; various rules apply such as applicable property sets, part composition, and distribution ports.</p>

<p>For scenarios of object types having part compositions, such parts may be reflected at object occurrences having separate state. For example, a wall type may define a particular arrangement of studs, a wall occurrence may reflect the same arrangement of studs, and studs within the wall occurrence may participate in specific relationships that do not exist at the type such as being connected to an electrical junction box.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="IsTypedBy" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelDefinesByType" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingType" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcTypeProduct" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="ae7f2e1e-2217-4da4-9f3c-51bf3c5f1f6e" name="Object Properties" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Object occurrences may have extensible properties defined for capturing particular values known by name and a within a particular property set. For COBie, the available property types and values is limited as indicated.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelDefinesByProperties" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingPropertyDefinition" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcPropertySet" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPropertySingleValue" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="" AttributeName="NominalValue" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcValue" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="e553d60a-c85f-43ec-97f8-191243dcc4db" name="Type Properties" status="" applicableSchema="IFC2X4" applicableEntity="IfcTypeObject">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Object types may have extensible properties defined for capturing particular values known by name and a within a particular property set. For COBie, the available property types and values is limited as indicated.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="HasPropertySets" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcPropertySet" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="HasProperties" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcPropertySingleValue" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="" AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule RuleID="" EntityName="IfcIdentifier" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule RuleID="" AttributeName="NominalValue" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcValue" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="1af06f90-9024-4d4b-b9e0-2144e5347d75" name="Quantities" status="" applicableSchema="IFC2X4" applicableEntity="IfcObject">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Any specialization of object can be related to multiple quantity set occurrences. A quantity set contains multiple quantity occurrences. The data type of quantity occurrence are count, length, area, volume, weight, time, and combination of quantity occurrences.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="IsDefinedBy" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelDefinesByProperties" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingPropertyDefinition" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcElementQuantity" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Type" AttributeName="Quantities" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPhysicalSimpleQuantity" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="a229ab6f-6b49-45c6-b969-66098bddda58" name="Units" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Project Units define the units used in the data exchange. Units can be translated during export and import; that is, the originating model, data exchange and resulting model may all have different units.</p>
<p>The following units must be supported in all exchange scenarios:</p>
<ul>
<li>Length</li>
<li>Area</li>
<li>Volume</li>
<li>Angle</li>
<li>Currency</li>
</ul>
<p>Additional units must be supported if they are needed in the context of an exchange scenario. Each measure value of the same type in the data exchange uses the same unit. When an application imports data, the following behavior relating to units is allowed:</p>
<ul>
<li>Importing units as they are, providing the units match the units used by the importing application.</li>
<li>Translating to units of the same unit system, e.g. millimeters to meters.</li>
<li>Translating between unit systems, e.g. from millimeter to inch. The user must be prompted to accept the translation or cancel the import.</li>
<li>Informing the user about unsupported units and cancelling the import.</li>
</ul>

<p>The following behavior is not allowed:</p>
<ul>
<li>Importing units of a supported unit system without translation, if the units in the receiving application are not set to match the units used in the exchange, e.g. importing millimeters as meters.</li>
<li>Importing units of an unsupported unit system without translation, e.g. importing millimeters as inches without translation.</li>
<li>Mixing units of different unit systems is not allowed. Importing applications are required to detect invalid unit configurations, notify the user and cancel the import.</li>
<li>Additional restrictions have been imposed on units, with the requirement that angles must be measured in degrees (as opposed to radians).</li>
</ul>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="UnitsInContext" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcUnitAssignment" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="Units" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcConversionBasedUnit" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule RuleID="Name" AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule RuleID="UnitType" AttributeName="UnitType" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcUnitEnum" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="ConversionFactor" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMeasureWithUnit" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="UnitComponent" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcSIUnit" Cardinality="_asSchema">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcSIUnitName" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Prefix" Cardinality="_asSchema">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcSIPrefix" Cardinality="_asSchema">
                                              <AttributeRules />
                                              <EntityRules />
                                            </EntityRule>
                                          </EntityRules>
                                          <AttributeConstraints />
                                        </AttributeRule>
                                      </AttributeRules>
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule RuleID="Value" AttributeName="ValueComponent" Cardinality="_asSchema">
                                  <EntityRules />
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="497a6b78-18e2-461a-a9c1-bc4df77736d4" name="Group Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcGroup">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Groups may have assignments indicating products that are members of the group. An example of such assignment is an air handler belonging to an air conditioning system.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="IsGroupedBy" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssignsToGroup" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule RuleID="Type" AttributeName="RelatedObjects" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcProduct" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="00dcde95-7ed0-4495-849a-650b5e7e7d91" name="Control Assignment" status="" applicableSchema="IFC2X4" applicableEntity="IfcControl">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Figure 11 illustrates an instance diagram.</p>
<table><tr><td><img alt="Control Assignment" src="figures/control-assignment.png" usemap="#f11"><map name="f11"><area shape="rect" coords="208,8,376,104" href="../ifckernel/lexical/ifcrelassignstocontrol.htm" alt="IfcRelAssignsToControl" /><area shape="rect" coords="408,8,576,152" href="../ifckernel/lexical/ifcobjectdefinition.htm" alt="IfcObjectDefinition" /></map></td></tr><tr><td><p class="figure">Figure 11 &mdash; Control Assignment</p></td></tr></table>

<p>This concept is used by entities for exchanges as shown.</p>
<table border="1" cellpadding="0">
<tr><td></td><td><a href="../views/cobie_v2.4/facility-criteria.htm"><image width="16" src="../../img/mvd-facility-criteria.png" title="Facility Criteria"/></a></td>
<td><a href="../views/cobie_v2.4/discipline-specifications.htm"><image width="16" src="../../img/mvd-discipline-specifications.png" title="Discipline Specifications"/></a></td>
<td><a href="../views/cobie_v2.4/project-definition.htm"><image width="16" src="../../img/mvd-project-definition.png" title="Project Definition"/></a></td>
<td><a href="../views/cobie_v2.4/space-program.htm"><image width="16" src="../../img/mvd-space-program.png" title="Space Program"/></a></td>
<td><a href="../views/cobie_v2.4/product-program.htm"><image width="16" src="../../img/mvd-product-program.png" title="Product Program"/></a></td>
<td><a href="../views/cobie_v2.4/design-early.htm"><image width="16" src="../../img/mvd-design-early.png" title="Design Early"/></a></td>
<td><a href="../views/cobie_v2.4/design-schematic.htm"><image width="16" src="../../img/mvd-design-schematic.png" title="Design Schematic"/></a></td>
<td><a href="../views/cobie_v2.4/design-coordinated.htm"><image width="16" src="../../img/mvd-design-coordinated.png" title="Design Coordinated"/></a></td>
<td><a href="../views/cobie_v2.4/design-issue.htm"><image width="16" src="../../img/mvd-design-issue.png" title="Design Issue"/></a></td>
<td><a href="../views/cobie_v2.4/product-type-template.htm"><image width="16" src="../../img/mvd-product-type-template.png" title="Product Type Template"/></a></td>
<td><a href="../views/cobie_v2.4/product-template.htm"><image width="16" src="../../img/mvd-product-template.png" title="Product Template"/></a></td>
<td><a href="../views/cobie_v2.4/bid-issue.htm"><image width="16" src="../../img/mvd-bid-issue.png" title="Bid Issue"/></a></td>
<td><a href="../views/cobie_v2.4/product-type-selection.htm"><image width="16" src="../../img/mvd-product-type-selection.png" title="Product Type Selection"/></a></td>
<td><a href="../views/cobie_v2.4/system-layout.htm"><image width="16" src="../../img/mvd-system-layout.png" title="System Layout"/></a></td>
<td><a href="../views/cobie_v2.4/product-installation.htm"><image width="16" src="../../img/mvd-product-installation.png" title="Product Installation"/></a></td>
<td><a href="../views/cobie_v2.4/product-inspection.htm"><image width="16" src="../../img/mvd-product-inspection.png" title="Product Inspection"/></a></td>
<td><a href="../views/cobie_v2.4/construction-issue.htm"><image width="16" src="../../img/mvd-construction-issue.png" title="Construction Issue"/></a></td>
<td><a href="../views/cobie_v2.4/product-type-parts.htm"><image width="16" src="../../img/mvd-product-type-parts.png" title="Product Type Parts"/></a></td>
<td><a href="../views/cobie_v2.4/product-type-warranty.htm"><image width="16" src="../../img/mvd-product-type-warranty.png" title="Product Type Warranty"/></a></td>
<td><a href="../views/cobie_v2.4/product-type-maintenance.htm"><image width="16" src="../../img/mvd-product-type-maintenance.png" title="Product Type Maintenance"/></a></td>
<td><a href="../views/cobie_v2.4/system-operation.htm"><image width="16" src="../../img/mvd-system-operation.png" title="System Operation"/></a></td>
<td><a href="../views/cobie_v2.4/space-condition.htm"><image width="16" src="../../img/mvd-space-condition.png" title="Space Condition"/></a></td>
<td><a href="../views/cobie_v2.4/product-parts-replacement.htm"><image width="16" src="../../img/mvd-product-parts-replacement.png" title="Product Parts Replacement"/></a></td>
<td><a href="../views/cobie_v2.4/space-occupancy.htm"><image width="16" src="../../img/mvd-space-occupancy.png" title="Space Occupancy"/></a></td>
<td><a href="../views/cobie_v2.4/space-activity-renovation.htm"><image width="16" src="../../img/mvd-space-activity-renovation.png" title="Space Activity Renovation"/></a></td>
<td><a href="../views/cobie_v2.4/remodel.htm"><image width="16" src="../../img/mvd-remodel.png" title="Remodel"/></a></td>
<td><a href="../views/cobie_v2.4/expand.htm"><image width="16" src="../../img/mvd-expand.png" title="Expand"/></a></td>
<td><a href="../views/cobie_v2.4/demolish.htm"><image width="16" src="../../img/mvd-demolish.png" title="Demolish"/></a></td>
</tr><tr><td><i>IfcActionRequest</i></td><td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
<td><img width="16" src="../../img/attr-notrelevant.png" title="Import NotRelevant" /><br/><img width="16" src="../../img/attr-notrelevant.png" title="Export NotRelevant" /></td>
</tr>
</table>
]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="Controls" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssignsToControl" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatedObjects" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcObjectDefinition" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="65d96e2c-d5c9-4475-afde-c539c4da1cc6" name="Spatial Containment" status="" applicableSchema="IFC2X4" applicableEntity="IfcElement">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Spatial structures may contain physical elements, including building elements, distribution elements, and furnishing elements.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="ContainedInStructure" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelContainedInSpatialStructure" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingStructure" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcSpace" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="650cf924-9ac1-44a8-99f4-21a84f24573d" name="Task Scheduling" status="" applicableSchema="IFC2X4" applicableEntity="IfcTask">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Tasks may be scheduled to start at a point in time and last for a given durection.  Tasks may also recur periodically.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="TaskTime" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcTaskTimeRecurring" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="ScheduleStart" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcDateTime" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="ScheduleDuration" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcDuration" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="Recurrance" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcRecurrencePattern" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="RecurrenceType" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcRecurrenceTypeEnum" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Interval" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcInteger" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="75a37325-aa6f-4690-a903-fde275d7ab8b" name="Task Sequencing" status="" applicableSchema="IFC2X4" applicableEntity="IfcTask">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Task sequencing may indicate that a task depends upon other tasks before it may start.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="IsSuccessorFrom" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelSequence" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingProcess" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcTask" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="9b78c03f-fe95-4979-a798-56286e7beab2" name="Contact" status="" applicableSchema="IFC2X4" applicableEntity="IfcActor">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Project participants are indicating using <i>IfcActor</i>.  For COBie, the <i>Name</i> must indicate the primary email address of the actor, which enables automatic association of authoring information based on login credentials.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="TheActor" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcPersonAndOrganization" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="ThePerson" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcPerson" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="FamilyName" Cardinality="_asSchema">
                          <EntityRules />
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="GivenName" Cardinality="_asSchema">
                          <EntityRules />
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Addresses" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcPostalAddress" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="AddressLines" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="PostalBox" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="Town" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="Region" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="PostalCode" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                                <AttributeRule AttributeName="Country" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                            <EntityRule EntityName="IfcTelecomAddress" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="TelephoneNumbers" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
                <AttributeRule AttributeName="TheOrganization" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcOrganization" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Identification" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcIdentifier" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="Description" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcText" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="3f796397-7111-45df-833d-48e5caeee733" name="Material Constituents" status="" applicableSchema="IFC2X4" applicableEntity="IfcElementType">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Element types may have material constituents defined.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="HasAssociations" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterialConstituentSet" Cardinality="_asSchema">
                      <AttributeRules>
                        <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                              <AttributeRules />
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                        <AttributeRule AttributeName="MaterialConstituents" Cardinality="_asSchema">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialConstituent" Cardinality="_asSchema">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name" Cardinality="_asSchema">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" Cardinality="_asSchema">
                                      <AttributeRules />
                                      <EntityRules />
                                    </EntityRule>
                                  </EntityRules>
                                  <AttributeConstraints />
                                </AttributeRule>
                              </AttributeRules>
                              <EntityRules />
                            </EntityRule>
                          </EntityRules>
                          <AttributeConstraints />
                        </AttributeRule>
                      </AttributeRules>
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="abd65925-a5e6-4b90-bc63-d54d7907a831" name="Project Declaration" status="" applicableSchema="IFC2X4" applicableEntity="IfcContext">
      <Definitions>
        <Definition>
          <Body><![CDATA[<p>Projects may declare top-level objects that may participate in relationships with the building model and/or be consumed by other projects.</p>
<p>All types deriving from <i>IfcObjectDefinition</i> (with exception of the building hierarchy) are ultimately linked to the single <i>IfcProject</i> through the <i>IfcRelDeclares</i> relationship or indirectly through a <i>IfcRelDecomposes</i> relationship.</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <Rules>
        <AttributeRule AttributeName="Declares" Cardinality="_asSchema">
          <EntityRules>
            <EntityRule EntityName="IfcRelDeclares" Cardinality="_asSchema">
              <AttributeRules>
                <AttributeRule RuleID="Type" AttributeName="RelatedDefinitions" Cardinality="_asSchema">
                  <EntityRules>
                    <EntityRule EntityName="IfcObjectDefinition" Cardinality="_asSchema">
                      <AttributeRules />
                      <EntityRules />
                    </EntityRule>
                  </EntityRules>
                  <AttributeConstraints />
                </AttributeRule>
              </AttributeRules>
              <EntityRules />
            </EntityRule>
          </EntityRules>
          <AttributeConstraints />
        </AttributeRule>
      </Rules>
      <SubTemplates />
    </ConceptTemplate>
    <ConceptTemplate uuid="6f832d54-06fe-4034-aa5a-f19d57c75ee5" name="2.1.1 Defining Types for manageable components" status="" applicableSchema="IFC2X4" applicableEntity="IfcRoot">
      <Definitions />
      <Rules />
      <SubTemplates />
    </ConceptTemplate>
  </Templates>
  <Views>
    <ModelView uuid="d15c493a-b60b-4ece-8e07-b29e3d8f12ea" name="Building Automation" code="BAMie2012" status="" author="Tim Chipman" owner="" applicableSchema="IFC2X4">
      <Definitions>
        <Definition>
          <Body><![CDATA[      <p class="std">
Five exchanges scenarios are identified spanning the lifecycle of information exchange for building automation. 
Such scenarios are partitioned by user role and common categories of software applications.</p>
<p>Each exchange partially fulfills a stage of the overall building lifecycle as follows:</p>
<ul>
  <li><b>Components</b>: Product Template</li>
  <li><b>Connections</b>: Design Coordinated</li>
  <li><b>Addresses</b>: System Layout</li>
  <li><b>Configuration</b>: System Operation</li>
  <li><b>Performance</b>: Space Occupancy</li>
</ul>
<p>Figure 1 shows each exchange scenario in order of process sequence proceeding left-to-right over time, 
and in order of control sequence proceeding top-to-bottom over authorizing role, where higher roles generally commission and/or regulate lower roles. 
Communication is indicated by arrows, where the start point (circle) indicates the origination of information and the end point (triangle) indicates the destination of information. 
Arrows connected in sequence indicate intermediate passing of information for approval and forwarding.</p>

<table><tr><img src="../../../img/mvdmap-bamie.png" alt="Process Map"/><td></td></tr><tr><td><p class="figure">Figure 1 &mdash; Information exchange process map</p></td></tr></table>

<p>All data is based on the schema defined by <a href="../../chapter-2.htm#iso-16739">ISO 16739</a> (Industry Foundation Classes, Version 4) and adapted herein.  
Data may be encoded in any of the following formats:</p>
<ul>
<li><a href="../../chapter-2.htm#iso-10303-21">IFC-SPF</a>: The ISO-10303-21 text format lists each data instance on a line, having an instance number, the type name, and direct attributes in order.</li>
<li><a href="../../chapter-2.htm#iso-10303-28">IFC-XML</a>: The ISO-10303-28 text format lists data instances within hierarchical tags using the type name, with direct and inverse attributes contained in XML attributes or tags as specified.</li>
<li><a href="../../chapter-2.htm#iso-29500">OOXML</a>: The ISO-29500 zipped text format organizes data into a spreadsheet with XML encoding, where data may be stored using pages for object types, columns for attributes, and rows for instances.  The particular mappings of pages and columns are defined by the <i>Table Mapping</i> concept supported at various entities as indicated.</li>
</ul>


<p>For each exchange, requirements are indicated for import and export of various concepts.  
Import refers to loading data into an application from any of the specified formats, where if such data is specified then it is retained within the application for viewing and optionally editing and exporting. 
Export refers to saving data from an application into any of the specified formats, where specified data must be included in the resulting file. </p>

<p>Data must always conform to the baseline IFC schema regardless of exchange or format.  
For example, global identifiers (GUIDs) on objects are mandatory for export but optional for import, 
though the schema requires such attribute: For direct formats such as IFC-SPF and IFC-XML, this is required and the file is invalid if omitted, 
however for mapping formats such as OOXML, if such attribute is missing then it may be automatically generated upon import.
</p>

<p>
For applications supporting this Model View for import (either the application is designed specifically for this model view or such model view is selected by the application user), then upon importing data (either from this model view, from other model views, or arbitrary IFC data), then any such entities and attributes outside of the schema subset of this Model View must be excluded upon import.
</p>

<p>
For applications supporting this Model View for export (either the application is designed specifically for this model view or such model view is selected by the application user), then upon exporting data, then any such entities and attributes outside the schema subset of this Model View must be excluded in the resulting file.
</p>

<p>Requirement values mean the following:</p>
<ul>
<li><b>Mandatory</b>: If an instance exists of the specified entity type, the referenced attributes MUST be retained and meet rule definitions.</li>
<li><b>Optional</b>: If an instance exists of the specified entity type, the referenced attributes MAY be retained, but MUST meet rule definitions if included.</li>
<li><b>Excluded</b>: If an instance exists of the specified entity type, the referenced attributes MUST NOT be retained.</li>
<li><b>NotApplicable</b>: If an instance exists of the specified entity type, the referenced attributes MAY be retained and need not meet rule definitions.</li>
</ul>

</p>]]></Body>
          <Links />
        </Definition>
      </Definitions>
      <ExchangeRequirements>
        <ExchangeRequirement uuid="467d7d9f-2fc1-43d8-be0b-91fefbd272df" name="Components" applicability="default">
          <Definitions>
            <Definition>
              <Body><![CDATA[      <p class="std">
<p>Components and assemblies are provided by manufacturers that specify the operational specifications of a product.  This information is provided at a sufficient level of detail suitable for product specifiers and manufacturers.
      </p>
      <p class="std">
This exchange supports the coordination between device manufacturers, building service 
design applications, and building automation applications. It identifies the 
particular export requirements from an architectural application for 
defining product type libraries.
      </p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
        </ExchangeRequirement>
        <ExchangeRequirement uuid="4ed6616b-8897-4825-9fb5-6047766d2dcd" name="Connections" applicability="default">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>The logical and physical connections between SCADA system elements are modeled such that a system schematic may be derived and spatial relationships to architectural elements and spaces are specified.
      </p>
      <p class="std">
This exchange supports the coordination between building service design applications and 
building automation applications. It identifies the particular export 
requirements from a building service application including building design 
and geometry.
      </p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
        </ExchangeRequirement>
        <ExchangeRequirement uuid="12ceab2a-261d-43ba-8a1c-014190d3e927" name="Addresses" applicability="default">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>There are references to SCADA data structures that may occur in access protocols such as BACNet, LONworks, and oBIX.  This information should be sufficient to allow programmatic access to live data streams, alarms, queries, histories, etc.
</p>
<p class="std">
This exchange supports the coordination between a building automation data access application and facilities managers. It identifies the particular export requirements from a building automation application including system topology and device configuration.
</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
        </ExchangeRequirement>
        <ExchangeRequirement uuid="d5c8c508-d474-4c73-b15e-e353b5ef7711" name="Configuration" applicability="default">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Control system configurations may be captured including parameters for digital and analog inputs, programs for control loops, alarm/event handling, and time schedules.
</p>
<p class="std">
This exchange supports the coordination between a building automation programming application and facilities managers. It identifies the particular export requirements from a building automation control programming application including tasks, events, and procedures.
</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
        </ExchangeRequirement>
        <ExchangeRequirement uuid="e0d37c5f-562e-494e-baed-e7500bf7965a" name="Performance" applicability="default">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Real-time or simulated data from sensors and alarm events may be captured and used as feedback into design or operations for evaluating efficiency of buildings and equipment.
</p>
<p class="std">
This exchange supports the coordination between a building automation monitoring application and facilities managers. It identifies the particular export requirements from a building automation monitoring application including performance history for realtime and historical data.
</p>
]]></Body>
              <Links />
            </Definition>
          </Definitions>
        </ExchangeRequirement>
      </ExchangeRequirements>
      <Roots>
        <ConceptRoot uuid="1ae45c57-9919-4793-93e7-aac1202bab1b" applicableRootEntity="IfcProject">
          <Definitions />
          <Concepts>
            <Concept uuid="099309d1-c350-4df6-b9d9-896d6cbb1f14" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="f14a9da5-162a-4acc-acd0-bdf75dbe9f01" name="Project Library Information">
              <Definitions />
              <Template ref="f71de28e-4352-4f0d-9830-4fa13534a705" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="211b7123-debe-4300-ab76-03fb8e2103a7" name="Project Declaration">
              <Definitions />
              <Template ref="ab1e2cfd-9f21-4f4a-b6af-cc26d84e45ac" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Project libraries encapsulate referenced definitions of product types and process types." Parameters="Type=IfcProjectLibrary;" />
                <TemplateRule Description="Performance history contains historical data captured from devices in realtime." Parameters="Type=IfcPerformanceHistory;" />
                <TemplateRule Description="Distribution systems indicate control systems and hosted devices." Parameters="Type=IfcDistributionSystem;" />
                <TemplateRule Description="Tasks indicate scheduled programs containing events and procedures." Parameters="Type=IfcTask;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="a2d48c33-17d9-457a-b9c3-f0d236d3c628" name="SI Units">
              <Definitions />
              <Template ref="ef090973-08aa-4b7d-a6af-75bc89ebf215" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="UnitType=THERMODYNAMICTEMPERATUREUNIT;Prefix=;Name=KELVIN;" />
                <TemplateRule Parameters="UnitType=THERMODYNAMICTEMPERATUREUNIT;Prefix=;Name=DEGREE_CELSIUS;" />
                <TemplateRule Parameters="UnitType=ENERGYUNIT;Prefix=;Name=JOULE;" />
                <TemplateRule Parameters="UnitType=POWERUNIT;Prefix=;Name=WATT;" />
                <TemplateRule Parameters="UnitType=LENGTHUNIT;Prefix=;Name=METRE;" />
                <TemplateRule Parameters="UnitType=TIMEUNIT;Prefix=;Name=SECOND;" />
                <TemplateRule Parameters="UnitType=ELECTRICVOLTAGEUNIT;Prefix=;Name=VOLT;" />
                <TemplateRule Parameters="UnitType=FREQUENCYUNIT;Prefix=;Name=HERTZ;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="71bde420-41bc-4787-9cb8-45dc7c67f545" name="Conversion Units">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>If omitted, then SI base units are assumed, with angles measured in degrees and temperature measured in Kelvin.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="58df55ef-a765-4c49-992d-55483a25e0b8" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcConversionBasedUnitWithOffset;UnitType=THERMODYNAMICTEMPERATUREUNIT;Name=Fahrenheit;ConversionType=IfcThermodynamicTemperatureMeasure;ConversionFactor=1.8;BaseUnitPrefix=;BaseUnitName=KELVIN;ConversionOffset=-459.67;" />
                <TemplateRule Parameters="Type=IfcConversionBasedUnit;UnitType=LENGTHUNIT;Name=inch;ConversionType=IfcLengthMeasure;ConversionFactor=25.4;BaseUnitPrefix=MILLI;BaseUnitName=METRE;ConversionOffset=;" />
                <TemplateRule Parameters="Type=IfcConversionBasedUnit;UnitType=PLANEANGLEUNIT;Name=degree;ConversionType=IfcPlaneAngleMeasure;ConversionFactor=0.01745329252;BaseUnitPrefix=;BaseUnitName=RADIAN;ConversionOffset=;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="c0cf2ee2-4b45-403f-a321-a5c9f10a539b" name="Spatial Decomposition">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>The <em>IfcProject</em> is used to reference the root of the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the <em>IfcProject</em>, by using the objectified relationship <em>IfcRelAggregates</em>. The <em>IfcProject</em> references them by its inverse relationship:</p>

<ul>

<li><em>IfcProject.Decomposes</em> &mdash; it shall be NIL, i.e. <em>IfcProject</em> shall not be part of a decomposition as it is the root element of the spatial structure.</li>

<li><em>IfcProject.IsDecomposedBy</em> &mdash; referencing
(<em>IfcSite</em> || <em>IfcBuilding</em>) by
<em>IfcRelAggregates.RelatingObject</em>. The <em>IfcSite</em> or
<em>IfcBuilding</em> referenced shall be the root of the spatial
structure.</li>

</ul>
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="667f8443-ecce-4a8d-a63f-931fab0453e0" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Spatial Parts=IfcSite;" />
                <TemplateRule Parameters="Spatial Parts=IfcBuilding;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="869e8e9c-4254-42f4-a820-958669576632" name="Table Mapping">
              <Definitions />
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Facility;Column=Name;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=CreatedBy;Unit=;Reference=IfcProject.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Facility;Column=CreatedOn;Unit=;Reference=IfcProject.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Facility;Column=Categoty;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=Facility;Column=ProjectName;Unit=;Reference=IfcProject.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=SiteName;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=LinearUnits;Unit=;Reference=IfcProject.UnitsInContext\IfcUnitAssignment.Units['LENGTHUNIT']\IfcNamedUnit.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=AreaUnits;Unit=;Reference=IfcProject.UnitsInContext\IfcUnitAssignment.Units['AREAUNIT']\IfcNamedUnit.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=VolumeUnits;Unit=;Reference=IfcProject.UnitsInContext\IfcUnitAssignment.Units['VOLUMEUNIT']\IfcNamedUnit.Name;" />
                <TemplateRule Parameters="Table=Facility;Column=CurrencyUnit;Unit=;Reference=IfcProject.UnitsInContext\IfcUnitAssignment.Units[*]\IfcMonetaryUnit.Currency;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalSystem;Unit=;Reference=IfcProject.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalProjectObject;Unit=;Reference=IfcProject\;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalProjectIdentifier;Unit=;Reference=IfcProject.GlobalId;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalSiteObject;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalSiteIdentifier;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.GlobalId;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalFacilityObject;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\;" />
                <TemplateRule Parameters="Table=Facility;Column=ExternalFacilityIdentifier;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.GlobalId;" />
                <TemplateRule Parameters="Table=Facility;Column=Description;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcBuilding.Description;" />
                <TemplateRule Parameters="Table=Facility;Column=ProjectDescription;Unit=;Reference=IfcProject.Description;" />
                <TemplateRule Parameters="Table=Facility;Column=SiteDescription;Unit=;Reference=IfcProject.IsDecomposedBy[*]\IfcRelAggregates.RelatedObjects[*]\IfcSite.Description;" />
                <TemplateRule Parameters="Table=Facility;Column=Phase;Unit=;Reference=IfcProject.Phase;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="0366a61b-874e-4b42-a992-d0bc3290f9a5" applicableRootEntity="IfcProjectLibrary">
          <Definitions />
          <Concepts>
            <Concept uuid="46a298a0-7b48-4829-b5c0-ea9929b9b658" name="Project Library Information">
              <Definitions />
              <Template ref="f71de28e-4352-4f0d-9830-4fa13534a705" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="ba1adfb9-a808-4968-9824-a896b69c3825" name="Project Declaration">
              <Definitions />
              <Template ref="ab1e2cfd-9f21-4f4a-b6af-cc26d84e45ac" />
              <Requirements>
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Device types indicate physical models with defined properties and assigned process types for programmable behavior." Parameters="Type=IfcDistributionElementType;" />
                <TemplateRule Description="Property set templates indicate groups of settings that may be accessed on device types or groups of parameters that may be passed with procedures or events." Parameters="Type=IfcPropertySetTemplate;" />
                <TemplateRule Description="Task types indicate programs that may be run on instances of assigned devices." Parameters="Type=IfcTaskType;" />
                <TemplateRule Description="Procedure types indicate actions that may be invoked on instances of assigned devices." Parameters="Type=IfcProcedureType;" />
                <TemplateRule Description="Event types indicate notifications that may be received from instances of assigned devices." Parameters="Type=IfcEventType;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="e55518a5-3a95-4087-96ca-5b834ce008c7" applicableRootEntity="IfcActuator">
          <Definitions />
          <Concepts>
            <Concept uuid="6dc05a75-0411-487f-8b8c-cee640f3901b" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="e0866a06-ba76-49ea-b5f9-9781a963ceea" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="3c43085b-7699-4847-9827-fdeea0f81275" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcActuatorType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="f3417705-4f65-4c62-9f1b-61cd9b949c83">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_ActuatorPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_ActuatorTypeCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=ELECTRICACTUATOR;Name=Pset_ActuatorTypeElectricActuator;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=HYDRAULICACTUATOR;Name=Pset_ActuatorTypeHydraulicActuator;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_ActuatorTypeLinearActuation;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PNEUMATICACTUATOR;Name=Pset_ActuatorTypePneumaticActuator;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_ActuatorTypeRotationalActuation;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="0fab3109-6e1d-4015-9a78-29ee70e3c36f" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives signal." Parameters="Name=Input;Type=Signal;Flow=Sink" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="d0e13b7b-de3c-4010-a996-1549be9b123d" name="Control Flow">
              <Definitions />
              <Template ref="d1d8208b-51e5-4a8f-92ba-e3a2ea2bcb9c" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="805a411f-0b03-434b-95b9-c73c13531bb4" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="c7ab170c-7d2e-4cca-81ec-898250f91153" applicableRootEntity="IfcAlarm">
          <Definitions />
          <Concepts>
            <Concept uuid="d16e896a-4df3-46e3-ae30-1170dbab805d" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="96972528-2706-4539-9583-bf420814145e" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="51eb9741-4ba4-43cc-a88b-66f4f4bc75c5" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcAlarmType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="488f6bd9-4ff1-45a1-be7d-2e40901f45f6">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_AlarmPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_AlarmTypeCommon;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="f5557d4a-6de5-4f0f-9186-ac9a09a0d0e9" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives signal." Parameters="Name=Input;Type=SIGNAL;Flow=SINK" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="5b904ee3-4f76-491e-bb92-68ad0a85111f" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="22840201-71cb-41cd-86c2-5bf2c1335fd2" applicableRootEntity="IfcController">
          <Definitions />
          <Concepts>
            <Concept uuid="f2a3aee2-0e14-4c1f-a71e-d160e41b4e81" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="aa64cb15-1518-4fa0-88c5-fee275be19d1" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="78f0ddf9-50be-4a05-a3c7-ce7dbfca3157" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcControllerType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="b57f3dfc-18e9-4e11-af04-389481a4fe34">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_ControllerPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_ControllerTypeCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=FLOATING;Name=Pset_ControllerTypeFloating;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=MULTIPOSITION;Name=Pset_ControllerTypeMultiPosition;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PROGRAMMABLE;Name=Pset_ControllerTypeProgrammable;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PROPORTIONAL;Name=Pset_ControllerTypeProportional;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=TWOPOSITION;Name=Pset_ControllerTypeTwoPosition;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_ControllerPHistory;TemplateType=PSET_PERFORMANCEDRIVEN;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="b9aa8265-19bd-4e6f-aaf3-6555fe6047af" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives the first parameter." Parameters="PredefinedType=FLOATING;Name=Input;Type=SIGNAL;Flow=SINK;" />
                <TemplateRule Description="Receives the second parameter (if applicable)." Parameters="PredefinedType=FLOATING;Name=Modifier;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Sets the output value." Parameters="PredefinedType=FLOATING;Name=Output;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives the first parameter." Parameters="PredefinedType=MULTIPOSITION;Name=Input;Type=SIGNAL;Flow=SINK;" />
                <TemplateRule Description="Receives the second parameter (if applicable)." Parameters="PredefinedType=MULTIPOSITION;Name=Modifier;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Sets the output value." Parameters="PredefinedType=MULTIPOSITION;Name=Output;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=PROGRAMMABLE;Name=Power;Type=ELECTRICAL;Flow=SINK;" />
                <TemplateRule Description="Direct communication to the device (e.g. serial port)." Parameters="PredefinedType=PROGRAMMABLE;Name=Control;Type=CONTROL;Flow=SINK" />
                <TemplateRule Description="Network communication to the device (e.g. TCP/IP network)." Parameters="PredefinedType=PROGRAMMABLE;Name=Data;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="Analog or digital inputs." Parameters="PredefinedType=PROGRAMMABLE;Name=Input#1;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Analog or digital outputs." Parameters="PredefinedType=PROGRAMMABLE;Name=Output#1;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives the first parameter." Parameters="PredefinedType=PROPORTIONAL;Name=Input;Type=SIGNAL;Flow=SINK;" />
                <TemplateRule Description="Receives the second parameter (if applicable)." Parameters="PredefinedType=PROPORTIONAL;Name=Modifier;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Sets the output value." Parameters="PredefinedType=PROPORTIONAL;Name=Output;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives the first parameter." Parameters="PredefinedType=TWOPOSITION;Name=Input;Type=SIGNAL;Flow=SINK;" />
                <TemplateRule Description="Receives the second parameter (if applicable)." Parameters="PredefinedType=TWOPOSITION;Name=Modifier;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Sets the output value." Parameters="PredefinedType=TWOPOSITION;Name=Output;Type=SIGNAL;Flow=SOURCE" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="24f8ad0d-6926-42cf-9633-0c7b97b25b2c" name="Product Assignment">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>In addition to supporting events and procedures, controllers may also run tasks either pertually or at scheduled times.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="ec9cfb04-adfe-4868-8168-d78fe995a913" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Indicates a task that is scheduled to run on the device occurrence." Parameters="Type=IfcTask;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="6e806ca6-7583-4f13-8562-ad4808876597" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="1af27427-bb5a-451b-af2f-53432fc4a999" applicableRootEntity="IfcSensor">
          <Definitions />
          <Concepts>
            <Concept uuid="2097736d-bac0-4bc7-a819-f38522cc7901" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="584116fb-447b-4041-bd3e-7732c4d78447" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="d0403f71-20a4-4a81-acc4-7bf56e8190dd" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcSensorType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="ec00e82f-56c3-4bfc-8ad9-df93de768d30">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_SensorPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_SensorTypeCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=CONDUCTANCESENSOR;Name=Pset_SensorTypeConductanceSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=CONTACTSENSOR;Name=Pset_SensorTypeContactSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=FIRESENSOR;Name=Pset_SensorTypeFireSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=FLOWSENSOR;Name=Pset_SensorTypeFlowSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=GASSENSOR;Name=Pset_SensorTypeGasSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=HEATSENSOR;Name=Pset_SensorTypeHeatSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=HUMIDITYSENSOR;Name=Pset_SensorTypeHumiditySensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=IONCONCENTRATIONSENSOR;Name=Pset_SensorTypeIonConcentrationSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=LEVELSENSOR;Name=Pset_SensorTypeLevelSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=LIGHTSENSOR;Name=Pset_SensorTypeLightSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=MOISTURESENSOR;Name=Pset_SensorTypeMoistureSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=MOVEMENTSENSOR;Name=Pset_SensorTypeMovementSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PHSENSOR;Name=Pset_SensorTypePHSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PRESSURESENSOR;Name=Pset_SensorTypePressureSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=RADIATIONSENSOR;Name=Pset_SensorTypeRadiationSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=RADIOACTIVITYSENSOR;Name=Pset_SensorTypeRadioactivitySensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=SMOKESENSOR;Name=Pset_SensorTypeSmokeSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=SOUNDSENSOR;Name=Pset_SensorTypeSoundSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=TEMPERATURESENSOR;Name=Pset_SensorTypeTemperatureSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=WINDSENSOR;Name=Pset_SensorTypeWindSensor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule Parameters="PredefinedType=CO2SENSOR;Name=Pset_SensorTypeCO2Sensor;" />
                <TemplateRule Parameters="PredefinedType=FROSTSENSOR;Name=Pset_SensorTypeFrostSensor;" />
                <TemplateRule Parameters="PredefinedType=IDENTIFIERSENSOR;Name=Pset_SensorTypeIdentifierSensor;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="09f049de-5ccb-443b-969b-3fa42da58297" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Transmits signal." Parameters="Name=Output;Type=SIGNAL;Flow=SOURCE" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="6309c858-fbab-49a5-b07c-5d080440a996" name="Control Flow">
              <Definitions />
              <Template ref="d1d8208b-51e5-4a8f-92ba-e3a2ea2bcb9c" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="6a92ee11-3275-4365-8641-e46d600c2d10" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="dab81564-d7de-4ec1-a35d-5f372b4a90ef" applicableRootEntity="IfcPropertySetTemplate">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>For objects that have specific properties, IFC provides an extensibility mechanism in the form of Property Sets.  To describe the data types, value ranges, and other metadata, IFC provides Property Set Templates.  Properties may describe characteristics of product types, as well as real-time values, function parameters, and event parameters on devices.</p>
              <p>There are three fundamental types of property sets: Type-driven, Occurrence-driven, and Performance-driven.  Type-driven properties describe state that is inherent to a product model and cannot be configured or changed at occurrences.  Occurrence-driven properties describe state that may be customized at particular occurrences, but is not intended to change dynamically over time without human configuration.   Performance-driven properties describe state that may change over time, potentially at millisecond intervals or less.</p>
              <p>For building automation, performance-driven properties are used to capture sensed and controlled values, while occurrence-driven properties are used to capture configuration parameters.  Performance-driven properties are always in the form of time series, indicating sequences of values at periodic or irregular intervals.</p>
              <p>The IFC model allows property set templates to be defined independently of object types, to provide a generic extensibility mechanism.  The model also allows for property set templates to be identified explicitly on specific product types, such that when instances are created then such data can be automatically instantiated.  In such cases, a property set is directly linked to the product type, where any values provided indicate defaults.</p>
              <p>Property set templates may be mapped to managed runtime environments such as Java or .NET where data may be synchronized between the IFC model and programmatic extensions.  The IFC classification mechanism is used to uniquely identify programmatic elements according to namespace and type name.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="6431df0a-4816-40b8-b862-705c4b1f0cc2" name="Identity">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Property set templates are named according to designation in protocol documentation.  For custom property sets, the prefix "Pset_" should be avoided to prevent conflicts with IFC-defined property sets.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="f2a7ddac-c588-47c1-87fb-eb7141b58870" applicableRootEntity="IfcUnitaryControlElement">
          <Definitions />
          <Concepts>
            <Concept uuid="da9d7717-ba00-4a6c-b84f-76bfdd1dfdc1" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="dea9fbd3-9a35-4298-8b1e-7bebf66d2817" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="73536ad5-98d3-4619-ba3f-504b9caef9a1" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcUnitaryControlElementType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="a449e7d2-f70f-4de7-a1c3-1eaf8f69ae0e">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_UnitaryControlElementPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_UnitaryControlElementTypeCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule Parameters="PredefinedType=INDICATORPANEL;Name=Pset_UnitaryControlElementTypeIndicatorPanel;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule Parameters="PredefinedType=THERMOSTAT;Name=Pset_UnitaryControlElementTypeThermostat;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="84b522de-15e7-413f-8087-f2742a9cb243" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives power (typically 24V), and closes the circuit for Fan, Heat, and Cool. Port may be aggregated into sub-ports: 'Fan'(SIGNAL,SOURCE), 'Heat'(SIGNAL,SOURCE), and 'Cool'(SIGNAL,SOURCE)" Parameters="Name=Control;Type=CONTROL;Flow=SOURCE;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="70b4443a-820f-46a9-acc1-368a72723911" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="fe370c22-e027-4193-8aa3-cfb3da1b55ae" applicableRootEntity="IfcDistributionSystem">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>A project may include many distribution systems, such as for air conditioning, electrical, domestic cold water, security, etc.  This MVD is focused on control systems, where <span class="self-ref">IfcDistributionSystem</span> having <i>PredefinedType=CONTROL</i> is of particular interest.</p>
              <p>Systems may contain a flat list of devices (or control points), or a logical hierarchy of partitions, each containing subsets of devices.   Each object has a Name that may be used for human identification (though not necessarily unique machine identification), an optional Description, an optional Type, and extensible properties.</p>
              <p>Control points within a system are represented by <a href="../../ifcproductextension/lexical/ifcdistributionelement.htm">IfcDistributionElement</a> subtypes, with <a href="../../ifcbuildingcontrolsdomain/lexical/ifccontroller.htm">IfcController</a> as the default type for raw analog or digital I/O.  Many protocols such as OPC expose raw control points (digital or analog values with read and/or write access, without identification of device types).  Other protocols may identify types of objects by predefined type codes (such as BACnet and SNMP) where the available properties can be deduced by the type code.  Other protocols may provide extensible type codes that correspond to a domain registry which may be updated over time (such as USB, UPnP, UPB, and Insteon) where device types can be determined by matching codes with product types found in referenced product libraries.  Yet other protocols may include the type information directly (such as oBIX).</p>
              <p>If the control system forms a logical hierarchy of devices and has a concept of branch nodes or folders (such as OPC or oBIX), then such groupings may be represented by <a href="../../ifcproductextension/lexical/ifczone.htm">IfcZone</a>, each of which may have assigned devices or sub-zones.</p>
              <p>For control systems that support device detection, the classification hierarchy may be detected from the system and automatically constructed; in the absence of auto-detection, addresses may be manually specified by a user.</p>
              <p>For control systems that support type information, specific instances of products or groups may be automatically created and linked to classification and type information; in the absence of such information, such links may be manually specified by a user.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="1fbf9509-44a2-4534-996f-e5b00b1ec691" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="6fde8768-f580-4119-914c-f89c579955d5" name="Object Aggregation">
              <Definitions />
              <Template ref="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Control systems may be organized according to a hierarchy as supported by the particular control system, where each subsystem represents a logical and/or physical grouping." Parameters="PredefinedType=CONTROL;RelatedObjects=IfcDistributionSystem;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="a3d197ae-5ab5-4734-b446-a0800fffc284" name="Group Assignment">
              <Definitions />
              <Template ref="f567967f-5493-44d9-ac51-937c09ac2583" />
              <Requirements>
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Description="A control system may have assigned device instances either as a flat list, or assigned at aggregated subsystems." Parameters="Type=IfcDistributionElement;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="630e3bc1-7630-4216-9ebc-f26093e1ae76" applicableRootEntity="IfcPerformanceHistory">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>Realtime and historical data is captured on property sets defined on <span class="self-ref">IfcPerformanceHistory</span> instances.  <span class="self-ref">IfcPerformanceHistory</span> represents a subscription to a data feed, which may have one or more <a href="../../ifcproductextension/lexical/ifcdistributionelement.htm">IfcDistributionElement</a>-derived objects assigned.</p>
              <p>All properties used at <span class="self-ref">IfcPerformanceHistory</span> use time series, which may be regular (data captured at constant time intervals) or irregular (data captured when it has changed beyond a threshold).</p>
              <p>Performance history objects may be nested into levels of detail, where a parent history object represents the aggregate average of its components.</p>
              <p>Performance history objects may be nested inside calendars, where the enclosing calendar indicates active and inactive monitoring periods.</p>
              <p>Performance history objects may be classified using <a href="../../ifckernel/lexical/ifcrelassociatesclassification.htm">IfcRelAssociatesClassification</a> to indicate the device address for capturing data.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="306967bf-35e9-4578-9d0e-9d95f3f553cc" name="Property Sets for Performance">
              <Definitions />
              <Template ref="c32cc55b-afc7-439e-b821-e646e1b1dd1a" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Name=Pset_ActuatorPHistory;Type=IfcActuator;" />
                <TemplateRule Parameters="Name=Pset_AlarmPHistory;Type=IfcAlarm;" />
                <TemplateRule Parameters="Name=Pset_ControllerPHistory;Type=IfcController;" />
                <TemplateRule Parameters="Name=Pset_FlowInstrumentPHistory;Type=IfcFlowInstrument;" />
                <TemplateRule Parameters="Name=Pset_SensorPHistory;Type=IfcSensor;" />
                <TemplateRule Parameters="Name=Pset_UnitaryControlElementPHistory;Type=IfcUnitaryControlElement;" />
                <TemplateRule Parameters="Name=Pset_DistributionPortPHistoryCable;Type=IfcDistributionPort;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="60185cf5-2548-4f7d-ad5b-6f14d7460f7d" name="Control Assignment">
              <Definitions />
              <Template ref="813e73fe-5641-4648-a680-8887cf4359f1" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Performance history may have one or more devices assigned for which data is captured." Parameters="Type=IfcDistributionElement;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="2d8f9526-7040-4763-a003-166214753f83" applicableRootEntity="IfcDistributionPort">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>Ports describe strongly-typed connections on objects that may transmit and/or receive a signal (or any physical flow).  Communications ports may describe connector types and supported protocols.  Ports may define a position and orientation relative to the product geometry.</p>
              <p>Ports may define a material profile indicating the connection cross-section.  For pipe-based or duct-based ports carrying physical substances such as water or air, the profile indicates the flow cross-section.  For cable-based ports transmitting electricity, the profile indicates the connector pin-out, where each pin is a nested port having a single profile.</p>
              <p>Ports may optionally be nested into sub-ports for detailing electrical pin-out specification.  For example, a power type port (PredefinedType=ELECTRICAL) may have sub-ports for Phase, Neutral, and Ground, where placement and material profile is indicated.</p>
              <p>Ports may also be nested into sub-ports for detailing modulated signals, having no placement or material profile.  For example, an electrical power line may have modulated signals for TCP/IP networking or lighting control.</p>
              <p>Each port has a flow direction indicating whether it is a SOURCE or SINK.  For pipe-based or duct-based ports (having a gas or liquid physical flow such as air or water), the flow direction corresponds to the physical flow.  For cable-based ports, the flow direction does not represent the flow of electrons, but rather the higher-level logical operation as indicated.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="70277bd8-917e-4e82-a532-dfdc558ec453" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="58e8485d-989a-4347-a962-6f3c8b045e21" name="Property Sets">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="PredefinedType=CABLE;Name=Pset_DistributionPortCable;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="9e251c4a-69d6-4d11-8bd9-4654e2ddf410" name="Product Assignment">
              <Definitions />
              <Template ref="ec9cfb04-adfe-4868-8168-d78fe995a913" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="For ports that host a control system, the corresponding system must be assigned to the port to indicate how the system may be accessed programmatically." Parameters="Type=IfcDistributionSystem;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="8a6b4c49-0367-4f4a-abbe-749dabd06721" name="Port Connectivity">
              <Definitions />
              <Template ref="16fe846f-32b1-4595-bbb0-c4ad053dab24" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="f8a27f9f-3208-4da4-a17f-fcb763eb5e1e" name="Port Types">
              <Definitions />
              <Template ref="0626e774-a910-46df-89e0-f291617890ea" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Data which is specific to controlling devices." Parameters="PredefinedType=CABLE;SystemType=CONTROL;" />
                <TemplateRule Description="Arbitrary data which may include but is not limited to control." Parameters="PredefinedType=CABLE;SystemType=DATA;" />
                <TemplateRule Description="Electrical power which may transmit modulated data through sub-ports." Parameters="PredefinedType=CABLE;SystemType=ELECTRICAL;" />
                <TemplateRule Description="Data which is specific to a security system." Parameters="PredefinedType=CABLE;SystemType=SECURITY;" />
                <TemplateRule Description="Arbitrary raw signal for analog or digital I/O" Parameters="PredefinedType=CABLE;SystemType=SIGNAL;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="d304b3ad-3428-45e6-a32a-1f659d549645" applicableRootEntity="IfcDistributionElementType">
          <Definitions />
          <Concepts>
            <Concept uuid="da7de543-69dc-425b-9983-5491527ca379" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="5dac5a98-a387-4ab9-8564-497da711f5f4" name="Classification">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Classification of device types may include product classifications such as OmniClass as well as device type classifications.

Device type classifications are required for software that is able to auto-detect devices on a network, such that the device type and available capabilities may be determined.
Such classifications on type definitions identify the type of device, as opposed to classifications on device occurrences which identify the address of a particular device instance.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements />
              <Rules>
                <TemplateRule Description="Hexadecimal number indicating 8-bit device category followed by 8-bit subcategory followed by 8-bit firmware version." Parameters="Relation=ControlType;Source=SmartLabs;Name=Insteon;Tokens=('{X:000000..FFFFFF'});" />
                <TemplateRule Description="Hexadecimal number indicating 16-bit vendor code followed by 16-bit product code." Parameters="Relation=ControlType;Source=USB;Name=USB;Tokens=('{X:0000..FFFF'},{'X:0000..FFFF'});" />
                <TemplateRule Description="Hexadecimal number indicating 16-bit device type." Parameters="Relation=ControlType;Source=Zigbee;Name=Zigbee;Tokens=('{X:0000..FFFF'});" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="02602aef-a014-45fe-bcf1-e993f8bbef8b" name="Product Type Assignment">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Device types may declare supported procedures and events for which occurrences may be controlled or monitored programmatically.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements />
              <Rules>
                <TemplateRule Description="Defines an event that may be raised by occurrences of the device type." Parameters="Type=IfcEventType;" />
                <TemplateRule Description="Defines a procedure that may be invoked on occurrences of the device type." Parameters="Type=IfcProcedureType;" />
                <TemplateRule Description="Defines a task that may be scheduled on occurrences of the device type." Parameters="Type=IfcTaskType;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="ea84bd29-58e3-4311-9dbd-32c75be6a73d" applicableRootEntity="IfcDistributionElement">
          <Definitions />
          <Concepts>
            <Concept uuid="29b7740a-7598-43ac-ae09-382606a99d85" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="ed1183f2-54f8-4704-8c5b-1bc2fc270350" name="Classification">
              <Definitions>
                <Definition>
                  <Body><![CDATA[              <p>Classification is a general facility in IFC to organize objects according to a specified notation format which may form a fixed-level hierarchy or an extensible hierarchy.  Classification may be industry-specific, region-specific, company-specific, or project-specific.  Objects may participate in multiple classification schemes.</p>
              <p>For the purposes of building automation, classification is used to uniquely identify a device (or partitioning) within a control system.  The same device may be accessible from multiple control systems, and thus may use multiple classification schemes.  For some protocols, classification notation may follow a strict format such as hexadecimal numbers, while others may use variable-length ASCII or Unicode strings with prescribed delimiter characters.</p>
              <p>Top-level control systems (those directly declared at <i>IfcProject</i>) may be accessed by connecting to a specified URL using a specified protocol.  Such URL is not necessarily HTTP and is not necessarily accessible on the Internet (in most cases unlikely).  The URL is specified at IfcClassification.Location and is associated to the <i>IfcDistributionSystem</i> using the <i>IfcRelAssociatesClassification</i> relationship.  Such classification may also specify an address format for accessing devices within, and an optional hierarchy of provisioned (or detected) addresses of devices within the system.</p>
              <p>If the control system is part of a closed network, it is necessary to qualify the system by a port where it is hosted.  Such port may be contained in a router or gateway device (e.g. <i>IfcCommunicationsAppliance</i>).  The hosting device may be accessed by recursively traversing the system where such device is accessed (e.g. an IP network) and ultimately a port on the local computer where such data is to be accessed.</p></p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements />
              <Rules>
                <TemplateRule Description="32-bit decimal BACnetObjectIdentifier indicating type ID and instance ID (e.g.'12.15' for Digital Input #15)." Parameters="Relation=Control;Source=ASHRAE;Name=BACnet;Tokens=('{D:0..65535},'.','{D:0..65535}');" />
                <TemplateRule Description="32-bit decimal address for an IPv4 network (e.g.'192.168.1.1')." Parameters="Relation=Control;Source=IETF;Name=IPv4;Tokens=(‘{D:0..255}’,’.’,’{D:0..255}’,’.’, ’{D:0..255}’,’.’, ’{D:0..255}’);" />
                <TemplateRule Description="128-bit hexadecimal address for an IPv6 network." Parameters="Relation=Control;Source=IETF;Name=IPv6;Tokens=('{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}',':',{X:0000..FFFF}');" />
                <TemplateRule Description="48-bit hexadecimal form of MAC address." Parameters="Relation=Control;Source=IETF;Name=MAC;Tokens=(‘{X:00..FF}’,’-‘,{X:00-FF}’, ’-‘,{X:00-FF}’, ’-‘,{X:00-FF}’, ’-‘,{X:00-FF}’, ’-‘,{X:00-FF}’);" />
                <TemplateRule Description="Hierarchical ItemID in alphanumeric form (e.g. 'B204.Tank2.Temperature)" Parameters="Relation=Control;Source=OPC Foundation;Name=OPC;Tokens=(’.’,’{S}’,’{*}’);" />
                <TemplateRule Description="24-bit hexadecimal instance address." Parameters="Relation=Control;Source=SmartLabs;Name=Insteon;Tokens=('{X:00..FF}','.','{X:00..FF}','.','{X:00..FF}');" />
                <TemplateRule Description="48-bit hexadecimal neuron ID." Parameters="Relation=Control;Source=ISO/IEC;Name=LonTalk;Tokens=('{X:00..FF}',':','{X:00..FF}',':','{X:00..FF}',':','{X:00..FF}',':','{X:00..FF}',':','{X:00..FF}',':','{X:00..FF}');" />
                <TemplateRule Description="32-bit address comprised of 16-bit network identifier (PAN ID) followed by 16-bit node identifier." Parameters="Relation=Control;Source=Zigbee Alliance;Name=Zigbee;Tokens=('{X:0000..FFFF}',':',{X:0000..FFFF}');" />
                <TemplateRule Description="40-bit address comprised of 32-bit network identifier followed by 8-bit node identifier." Parameters="Relation=Control;Source=Z-Wave Alliance;Name=ZWave;Tokens=('{X:00000000..FFFFFFFF}',':',{X:00..FF}');" />
                <TemplateRule Description="16-bit address comprised of 8-bit network identifier followed by 16-bit node identifier." Parameters="Relation=Control;Source=PCS;Name=UPB;Tokens=('{X:00..FF}',':',{X:00..FF}');" />
                <TemplateRule Description="16-bit address comprised of 4-bit Main Line number followed by 4-bit Line number followed by 8-bit device number." Parameters="Relation=Control;Source=KNX Association;Name=KNX;Tokens=('{D:0..15}','.','{D:0..15}','.','{D:0..255}';" />
                <TemplateRule Description="8-bit address comprised of alphabetic House Code (A-P) followed by numeric Unit Code (1-16)" Parameters="Relation=Control;Source=X-10;Name=X10;Tokens=('{S:A..P}{D:1..16}');" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="01d30b39-0147-4ae1-8f68-d30bad156e3c" name="Product Assignment">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Device occurrences may be controlled or monitored programmatically according to assigned procedures and events.  
Such logic occurs within <i>IfcTask</i> occurrences that execute on <i>IfcController</i> devices.  
Event assignments indicate that when the assigned device instance raises the event, that any logic following the event is executed. 
Procedure assignments indicate that when the procedure is called (e.g. from user, in response to event, or as part of task), then the procedure is invoked on the device. 
Task assignments indicate that the task is to be run on the assigned device (e.g. a dedicated controller or PC), where such task may possibly impact other devices addressible from the control system. 
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="ec9cfb04-adfe-4868-8168-d78fe995a913" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Indicates an event that is handled from the device occurrence." Parameters="Type=IfcEvent;" />
                <TemplateRule Description="Indicates a procedure that is called on the device occurrence." Parameters="Type=IfcProcedure;" />
                <TemplateRule Description="Indicates a task that is scheduled to be executed on the device occurrence." Parameters="Type=IfcTask;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="6d232986-ed2a-4eef-a78f-89c13807e950" applicableRootEntity="IfcActuatorType">
          <Definitions />
          <Concepts>
            <Concept uuid="e05dd670-0f17-4943-914d-904b9711d23e" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="472b1315-25da-48be-8a26-2a4cc9ea1f30" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="c90bd1ca-a778-465b-9e23-5e4a1064cd62" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="ba7e6b66-b95b-4ab6-9dee-cfbff1279f8a" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="16a07663-5b02-465d-bbd7-ad3d20cb5599" applicableRootEntity="IfcAlarmType">
          <Definitions />
          <Concepts>
            <Concept uuid="a9e8a5ec-8ce1-42ae-82e7-4a69b63e648a" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="7d25248f-8252-40ce-a8d1-aae0c5a3b6ee" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="c409af2f-2624-444c-bd63-5e4d25db2812" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="6f757735-83dd-4d97-ba23-af3ac59e67d4" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="a27012dd-2853-4c31-aaa7-86726c5f117d" applicableRootEntity="IfcControllerType">
          <Definitions />
          <Concepts>
            <Concept uuid="08773a9a-3f38-4ce7-96dd-a4e312f1bf74" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="0e508906-e656-4f80-9d2e-9da92aa4f58d" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="af66595a-d39c-435b-9802-a99b9f05277e" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="892569d4-6d18-45c9-93d2-ec6f7ee292d4" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="99c83fa2-1873-46d4-a948-79a252ff1776" applicableRootEntity="IfcFlowInstrumentType">
          <Definitions />
          <Concepts>
            <Concept uuid="8319080a-ba1e-4983-90e5-013816bd7e6c" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="90fc1be9-fd39-4ad9-aae2-ee3339ff47b6" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="53ab58f7-f04f-482c-9f40-577d61b4b3c6" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="db8ae70b-764f-49f3-8149-ba0776239f27" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="26eeef2f-9254-4832-9d93-a5595211bbd0" applicableRootEntity="IfcSensorType">
          <Definitions />
          <Concepts>
            <Concept uuid="3c666484-3997-4e06-91d1-e7e7c10a03f1" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="f436a095-d48d-4375-8106-3e41429c1dcb" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="9c6e9204-8b26-4e0d-91ad-22b0063011b5" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="bae4c02c-1995-409f-a620-e8a14678b3bf" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="15c69b2b-7bf5-4a04-91a8-92063932c7ce" applicableRootEntity="IfcUnitaryControlElementType">
          <Definitions />
          <Concepts>
            <Concept uuid="b7c392aa-afe4-4503-9b63-4c1783a21965" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="84cb0796-9ef9-4de7-8be7-a0e238006bad" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="c7dab5ae-6046-4450-bff3-84eb945d40d6" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="0835c6e3-864f-41f8-9923-7c6f69172a3b" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="2610cfe2-8e9c-4b2e-b168-612c14b0a13b" applicableRootEntity="IfcTask">
          <Definitions />
          <Concepts>
            <Concept uuid="753f41ef-e03f-49f3-84ef-5f0a9203585e" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="a8fb4131-d341-4453-9312-f143ebd3d99b" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Indicates a task type consisting of re-usable control logic to be executed." Parameters="Type=IfcTaskType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="866ae8a1-9d92-4e50-99ba-90d280b4fff4" name="Object Nesting">
              <Definitions />
              <Template ref="38ca8788-5e47-411c-8294-d56f9e9a5691" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Events indicate notifications which may be handled or raised according to sequencing." Parameters="Type=IfcEvent;" />
                <TemplateRule Description="Procedures indicate calls to invoke behavior on devices." Parameters="Type=IfcProcedure;" />
                <TemplateRule Description="Tasks indicate logic to be executed, which may run in parallel to other tasks." Parameters="Type=IfcTask;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="cc91d766-37c0-4d7c-bfef-0aba038abd04" name="Task Time">
              <Definitions />
              <Template ref="2aef7708-5748-4750-94da-15038256dd3a" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="8a584dfd-3271-4329-abcf-501ebd83f570" applicableRootEntity="IfcElement">
          <Definitions />
          <Concepts>
            <Concept uuid="ff07c160-e079-42d8-b16f-52fc645094b1" name="Property Sets">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_ManufacturerOccurrence;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_ManufacturerTypeInformation;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="8de521fe-65b1-4734-b67c-1ea96f7e9258" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="c3884849-9d2c-43e7-acc1-9d814656be19" name="Table Mapping">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Devices map to the 'Components' table compatible with COBie but with an additional column to hold the device address.  The control system for which the device address may be resolved is indicated in the 'Systems' table.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Component;Column=Name;Unit=;Reference=IfcElement.Name;" />
                <TemplateRule Parameters="Table=Component;Column=CreatedBy;Unit=;Reference=IfcElement.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Component;Column=CreatedOn;Unit=;Reference=IfcElement.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Component;Column=TypeName;Unit=Name;Reference=IfcElement.IsTypedBy[*]\IfcRelDefinesByType.RelatingType;" />
                <TemplateRule Parameters="Table=Component;Column=Space;Unit=Name;Reference=IfcElement.ContainedInStructure[*]\IfcRelContainedInSpatialStructure.RelatingStructure;" />
                <TemplateRule Parameters="Table=Component;Column=Description;Unit=;Reference=IfcElement.Description;" />
                <TemplateRule Parameters="Table=Component;Column=ExtSystem;Unit=;Reference=IfcElement.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Component;Column=ExtObject;Unit=;Reference=IfcElement\;" />
                <TemplateRule Parameters="Table=Component;Column=ExtIdentifier;Unit=;Reference=IfcElement.GlobalId;" />
                <TemplateRule Parameters="Table=Component;Column=SerialNumber;Unit=;Reference=IfcElement.IsDefinedBy['Pset_ManufacturerOccurrence']\IfcRelDefinesByProperties.RelatingPropertyDefinition\IfcPropertySet.HasProperties['SerialNumber']\IfcPropertySingleValue.NominalValue\IfcIdentifier;" />
                <TemplateRule Parameters="Table=Component;Column=InstallationDate;Unit=;Reference=IfcElement.IsDefinedBy['Pset_ManufacturerOccurrence']\IfcRelDefinesByProperties.RelatingPropertyDefinition\IfcPropertySet.HasProperties['AquisitionDate']\IfcPropertySingleValue.NominalValue\IfcDateTime;" />
                <TemplateRule Parameters="Table=Component;Column=WarrantyStartDate;Unit=;Reference=IfcElement.IsDefinedBy['Pset_Warranty']\IfcRelDefinesByProperties.RelatingPropertyDefinition\IfcPropertySet.HasProperties['WarrantyStartDate']\IfcPropertySingleValue.NominalValue\IfcDateTime;" />
                <TemplateRule Parameters="Table=Component;Column=TagNumber;Unit=;Reference=IfcElement.Tag;" />
                <TemplateRule Parameters="Table=Component;Column=BarCode;Unit=;Reference=IfcElement.IsDefinedBy['Pset_ManufacturerOccurrence']\IfcRelDefinesByProperties.RelatingPropertyDefinition\IfcPropertySet.HasProperties['BarCode']\IfcPropertySingleValue.NominalValue\IfcIdentifier;" />
                <TemplateRule Parameters="Table=Component;Column=AssetIdentifier;Unit=;Reference=IfcElement.IsDefinedBy['Pset_ManufacturerOccurrence']\IfcRelDefinesByProperties.RelatingPropertyDefinition\IfcPropertySet.HasProperties['BatchReference']\IfcPropertySingleValue.NominalValue\IfcIdentifier;" />
                <TemplateRule Parameters="Table=Component;Column=ControlIdentifier;Unit=;Reference=IfcElement.HasAssocations['Control']\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="7907e8dd-cc76-405f-a35d-799d9a30da23" applicableRootEntity="IfcElementType">
          <Definitions />
          <Concepts>
            <Concept uuid="48e538af-9771-45d5-8bc9-a7abdaa0bb0b" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Name=Pset_ManufacturerTypeInformation;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="e136d6d5-8559-4d7b-8654-682d062cab42" name="Table Mapping">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Device types map to the 'Type' table compatible with COBie but with an additional column to hold the device type identifier (for applicable control system protocols).</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Type;Column=Name;Unit=;Reference=IfcElementType.Name;" />
                <TemplateRule Parameters="Table=Type;Column=CreatedBy;Unit=;Reference=IfcElementType.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Type;Column=CreatedOn;Unit=;Reference=IfcElementType.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Type;Column=Category;Unit=;Reference=IfcElementType.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=Type;Column=Description;Unit=;Reference=IfcElementType.Description;" />
                <TemplateRule Parameters="Table=Type;Column=Manufacturer;Unit=;Reference=IfcElementType.HasPropertySets['Pset_ManufacturerTypeInformation']\IfcPropertySet.HasProperties['Manufacturer']\IfcPropertySingleValue.NominalValue\IfcLabel;" />
                <TemplateRule Parameters="Table=Type;Column=ModelNumber;Unit=;Reference=IfcElementType.HasPropertySets['Pset_ManufacturerTypeInformation']\IfcPropertySet.HasProperties['ModelReference']\IfcPropertySingleValue.NominalValue\IfcIdentifier;" />
                <TemplateRule Parameters="Table=Type;Column=ExtSystem;Unit=;Reference=IfcElementType.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Type;Column=ExtObject;Unit=;Reference=IfcElementType\;" />
                <TemplateRule Parameters="Table=Type;Column=ExtIdentifier;Unit=;Reference=IfcElementType.GlobalId;" />
                <TemplateRule Parameters="Table=Type;Column=ModelReference;Unit=;Reference=IfcElementType.HasPropertySets['Pset_ManufacturerTypeInformation']\IfcPropertySet.HasProperties['ModelReference']\IfcPropertySingleValue.NominalValue\IfcLabel;" />
                <TemplateRule Parameters="Table=Type;Column=ControlTypeIdentifier;Unit=;Reference=IfcElement.HasAssocations['Control']\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="dc68112d-8020-4141-8d8d-e43705bb0cfc" applicableRootEntity="IfcTaskType">
          <Definitions />
          <Concepts>
            <Concept uuid="41e8a7dc-07e7-4bb3-8e9a-80801bd9a678" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="462b5a86-9648-40fb-a4bc-c903376c4cbf" name="Object Nesting">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="38ca8788-5e47-411c-8294-d56f9e9a5691" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="1acd62c3-b801-4b89-8319-9874f2b1d922" applicableRootEntity="IfcEvent">
          <Definitions />
          <Concepts>
            <Concept uuid="b5a6590c-b1b6-4d75-8847-7887d0fb129f" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="f7cda4c1-2eaa-4bc5-b419-409faffc6685" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Identifies the event to be handled or raised on the device." Parameters="Type=IfcEventType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="b41deaf5-1b64-4e37-977f-5d60222d664b" name="Property Sets">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Properties on events indicate parameter values to be included with the event. 
The direction of each parameter is defined by <i>IfcSimplePropertyTemplate</i>.AccessState which must always be <i>READONLY</i> for event parameters.
</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="331174b8-f59c-468d-897b-023494e60517" name="Constraint">
              <Definitions>
                <Definition>
                  <Body><![CDATA[
              <p>Constraints indicate valid ranges of values, where violations may be brought to the attention of interested parties.  For building automation, the IFC constraint model provides a standard mechanism for indicating minimum and maximum thresholds of measured real-time values for building performance.</p>
              <p>Automation protocols such as BACnet and OPC define “Hi”, “Lo”, “HiHi”, and “LoLo” thresholds to indicate warning levels and emergency levels of values going out of bounds.  For example, if the temperature in an equipment room exceeds a certain level, it could result in failure of devices and loss of service to building occupants.</p>
              <p>Constraints may be defined as a qualitative goal with quantitative metrics for measuring if such goal is achieved.  Metrics capture logical operators such as “Equal To”, “Greater Than”, “Includes”, etc., and may be logically combined using “And”, “Or”, “Xor”, etc.</p>
              <p>The <i>IfcRelAssociatesConstraint</i> relationship is used to link constraints to object attributes.</p>
               
 
]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="c08b264c-f7c6-479f-af7f-5d645c130ea8" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="bd386e63-b0d8-4bf4-b95e-f6193e09810e" name="Approval">
              <Definitions>
                <Definition>
                  <Body><![CDATA[              <p>Approvals indicate request and granting of permission, where actions may be restricted until such permission is granted.  For building automation, the IFC approval model provides a standard mechanism for indicating acknowledgment of events for alarm conditions.</p>
              <p>Automation protocols such as BACnet and OPC define event acknowledgement rules where various events may require users to confirm that they are aware of the condition, and if not confirmed within a particular timeframe then the event is potentially elevated to other users.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="52561fda-4281-409d-aa07-da485302249e" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="57a2d855-7e55-48c6-8afc-9443d1ca0d30" name="Event Types">
              <Definitions>
                <Definition>
                  <Body><![CDATA[For example, a dimmer switch may have a STARTEVENT to indicate when a user presses down on the dimmer, an INTERMEDIATEEVENT to indicate the user is adjusting the dim level, and an ENDEVENT to indicate when the user stops pressing. Likewise, a motion sensor may have a STARTEVENT to indicate when motion is sensed and an ENDEVENT to indicate when motion is no longer sensed beyond a time threshold. Similarly an alarm may have a STARTEVENT to indicate when the alarm is activated and an ENDEVENT to in indicate when the alarm is deactivated.]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="de36718f-0507-4f5c-9dbd-88232e9a5457" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Indicates the start of a condition such as entering an alarm state." Parameters="PredefinedType=STARTEVENT;" />
                <TemplateRule Description="Indicates the end of a condition such as returning to normal." Parameters="PredefinedType=ENDEVENT;" />
                <TemplateRule Description="Indicates intermediate status of a condition." Parameters="PredefinedType=INTERMEDIATEEVENT;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="c14b5ed8-7eaf-45d7-88da-a1e36ab9b832" name="Event Triggers">
              <Definitions />
              <Template ref="35fcafd8-7032-4af5-a5be-26c41dca5fca" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Event has associated constraint (using IfcRelAssociatesConstraint) indicating that event is triggered when the constraint is violated (if STARTEVENT) or triggered when the constraint returns to normal (if ENDEVENT)." Parameters="EventTriggerType=EVENTRULE;" />
                <TemplateRule Description="Event is a notification, where LongDescription indicates content." Parameters="EventTriggerType=EVENTMESSAGE;" />
                <TemplateRule Description="Event occurs at specific EventTime and/or according to recurring times of IfcWorkCalendar (linked using IfcRelAssignsToControl)" Parameters="EventTriggerType=EVENTTIME;" />
                <TemplateRule Description="Event is nested into multiple events which describe how the event may be triggered." Parameters="EventTriggerType=EVENTCOMPLEX;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="4a21c350-c074-49d6-a3aa-cc8cbe193899" applicableRootEntity="IfcEventType">
          <Definitions />
          <Concepts>
            <Concept uuid="9808f446-9e0a-4565-b553-93edb4b33e4d" name="Identity">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Event types are named according to the underlying protocol documentation, and typically consist of only ASCII-based alphanumeric characters starting with a letter and containing no spaces or other punctuation.  Such naming restrictions allow identifiers to be referenced in programming languages.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="06efb62e-7db4-4490-95c8-f0c57e96f4f6" applicableRootEntity="IfcProcedureType">
          <Definitions />
          <Concepts>
            <Concept uuid="0d297443-772b-43f5-adca-037f0956ca08" name="Identity">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Procedure types are named according to the underlying protocol documentation, and typically consist of only ASCII-based alphanumeric characters starting with a letter and containing no spaces or other punctuation.  Such naming restrictions allow identifiers to be referenced in programming languages.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="97c3b221-8a04-4810-a1d7-bd81e96e8a98" applicableRootEntity="IfcSimplePropertyTemplate">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>For objects that have specific properties, IFC provides an extensibility mechanism in the form of Property Sets.  To describe the data types, value ranges, and other metadata, IFC provides Property Set Templates.  Properties may describe characteristics of product types, as well as real-time values, function parameters, and event parameters on devices.</p>
              <p>There are three fundamental types of property sets: Type-driven, Occurrence-driven, and Performance-driven.  Type-driven properties describe state that is inherent to a product model and cannot be configured or changed at occurrences.  Occurrence-driven properties describe state that may be customized at particular occurrences, but is not intended to change dynamically over time without human configuration.   Performance-driven properties describe state that may change over time, potentially at millisecond intervals or less.</p>
              <p>For building automation, performance-driven properties are used to capture sensed and controlled values, while occurrence-driven properties are used to capture configuration parameters.  Performance-driven properties are always in the form of time series, indicating sequences of values at periodic or irregular intervals.</p>
              <p>The IFC model allows property set templates to be defined independently of object types, to provide a generic extensibility mechanism.  The model also allows for property set templates to be identified explicitly on specific product types, such that when instances are created then such data can be automatically instantiated.  In such cases, a property set is directly linked to the product type, where any values provided indicate defaults.</p>
              <p>Property set templates may be mapped to managed runtime environments such as Java or .NET where data may be synchronized between the IFC model and programmatic extensions.  The IFC classification mechanism is used to uniquely identify programmatic elements according to namespace and type name.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="42d02986-c04b-483d-86a8-a268c9edf65b" name="Identity">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Property definitions are named according to the underlying protocol documentation, and typically consist of only ASCII-based alphanumeric characters starting with a letter and containing no spaces or other punctuation.  Such naming restrictions allow identifiers to be referenced in programming languages.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="07b0bc76-88b4-4cc8-968a-a4673f0aa5a4" applicableRootEntity="IfcProcedure">
          <Definitions>
            <Definition>
              <Body><![CDATA[              <p>Procedures represent calls to perform particular actions.  Procedure types indicate the actual instructions to follow, which are referenced by procedure occurrences.</p>
              <p>Procedures may be defined globally (declared on <i>IfcProject</i> using <i>IfcRelDeclares</i>) to indicate a global procedure that may be invoked, commonly referred to as a “scene” in lighting control applications, for which users may select from control panel devices.</p>
              <p>Procedures may be called from within tasks (commonly referred to as “programs” in climate control applications), and may execute in series or parallel according to how they are sequenced within the nesting task.</p>
              <p>Procedures may result in event triggers, and may be called in response to handling events.</p>
              <p>Procedures may have input and output parameters in the form of property sets, which are defined by property set templates defined on corresponding <i>IfcProcedureType</i> objects.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="c93dc1d2-69fe-49c6-bc06-6b7af76edcb6" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="f2fa3c98-8a91-4356-a4f1-b1510b556193" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcProcedureType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="3b3e605a-bea1-4153-9a4c-9d4ddb83e609" name="Property Sets">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Properties on procedures indicate parameter values to be included with the procedure.
The direction of each parameter is defined by <i>IfcSimplePropertyTemplate</i>.AccessState which must be READWRITE for input parameters and READONLY for output parameters.
</p>

]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="4fda3411-72a2-4de9-bf2b-284c644aa015" applicableRootEntity="IfcRoot">
          <Definitions>
            <Definition>
              <Body><![CDATA[<p>Owner history is optional for this MVD.  It may be included for indicating changes in updated versions.</p>]]></Body>
              <Links />
            </Definition>
          </Definitions>
          <Concepts>
            <Concept uuid="bf8b51b2-18be-46ee-961a-b1009439f778" name="Revision Control">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="b441c773-3fdc-42b6-a323-ad268dcd85f2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="5b7fd26f-e42a-496a-83f0-697beb87adcc" applicableRootEntity="IfcFlowInstrument">
          <Definitions />
          <Concepts>
            <Concept uuid="227831a7-415a-4c85-94c0-c9eecb8a63de" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="bea8d23e-cc29-49d4-ba42-b41f8bda0785" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="b68f22b8-37ee-476c-86e3-8587ce39bfa6" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcFlowInstrumentType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="01c11845-1863-495f-a2b8-9471f4257c46">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_FlowInstrumentPHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_FlowInstrumentTypeCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=PRESSUREGAUGE;Name=Pset_FlowInstrumentTypePressureGauge;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=THERMOMETER;Name=Pset_FlowInstrumentTypeThermometer;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="179e3622-7e48-4467-b3e8-817babf58028" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives signal." Parameters="Name=Input;Type=SIGNAL;Flow=SINK;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="73d671c1-5f93-4292-a128-8dca4d9aec01" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="8128c4ad-70a7-4bb7-b932-ade796932f13" applicableRootEntity="IfcPropertySet">
          <Definitions />
          <Concepts>
            <Concept uuid="95aa5e7d-7889-4b40-84e2-4f9f38b40b73" name="Property Set Templates">
              <Definitions />
              <Template ref="15555189-efab-4d84-9103-65ce7b404072" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="TemplateType=P_SINGLEVALUE;PropertyType=IfcPropertySingleValue;" />
                <TemplateRule Parameters="TemplateType=P_ENUMERATEDVALUE;PropertyType=IfcPropertyEnumeratedValue;" />
                <TemplateRule Parameters="TemplateType=P_BOUNDEDVALUE;PropertyType=IfcPropertyBoundedValue;" />
                <TemplateRule Parameters="TemplateType=P_LISTVALUE;PropertyType=IfcPropertyListValue;" />
                <TemplateRule Parameters="TemplateType=P_TABLEVALUE;PropertyType=IfcPropertyTableValue;" />
                <TemplateRule Parameters="TemplateType=P_REFERENCEVALUE;PropertyType=IfcPropertyReferenceValue;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="2aa083e6-3db9-48d8-b80d-6c58d445b090" applicableRootEntity="IfcBuilding">
          <Definitions />
          <Concepts>
            <Concept uuid="9c31d40e-344b-4a54-9158-ff22897967b9" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="0a101ef8-5857-4093-b74f-96c4940ecf84" name="Object Aggregation">
              <Definitions />
              <Template ref="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" />
              <Requirements>
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="PredefinedType=;RelatedObjects=IfcBuildingStorey;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="84ec1e33-45d4-4f6a-82bd-52f198785f2f" applicableRootEntity="IfcBuildingStorey">
          <Definitions />
          <Concepts>
            <Concept uuid="6a90ec4e-67c7-4416-8235-4ca8e6cdfad6" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="bed78125-8f9b-4099-909d-0c762fac4b0c" name="Object Aggregation">
              <Definitions />
              <Template ref="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="PredefinedType=;RelatedObjects=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="255ba344-dbdc-4d38-9727-5327c9b7af2b" name="Table Mapping">
              <Definitions />
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Floor;Column=Name;Unit=;Reference=IfcBuildingStorey.Name;" />
                <TemplateRule Parameters="Table=Floor;Column=CreatedBy;Unit=;Reference=IfcBuildingStorey.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Floor;Column=CreatedOn;Unit=;Reference=IfcBuildingStorey.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Floor;Column=Category;Unit=;Reference=IfcBuildingStorey.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=Floor;Column=ExtSystem;Unit=;Reference=IfcBuildingStorey.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Floor;Column=ExtObject;Unit=;Reference=IfcBuildingStorey\;" />
                <TemplateRule Parameters="Table=Floor;Column=ExtIdentifier;Unit=;Reference=IfcBuildingStorey.GlobalId;" />
                <TemplateRule Parameters="Table=Floor;Column=Description;Unit=;Reference=IfcBuildingStorey.Description;" />
                <TemplateRule Parameters="Table=Floor;Column=Elevation;Unit=;Reference=IfcBuildingStorey.Elevation;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="89cce079-35a0-415b-86ec-6e3908a8e6ea" applicableRootEntity="IfcSpace">
          <Definitions />
          <Concepts>
            <Concept uuid="34c52ff4-7c55-495d-8057-2767bc56a401" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="74f2e12c-b678-463e-8501-e17e6a0ad45f" name="Table Mapping">
              <Definitions />
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Space;Column=Name;Unit=;Reference=IfcSpace.Name;" />
                <TemplateRule Parameters="Table=Space;Column=CreatedBy;Unit=;Reference=IfcSpace.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Space;Column=CreatedOn;Unit=;Reference=IfcSpace.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Space;Column=Category;Unit=;Reference=IfcSpace.HasAssociations\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=Space;Column=FloorName;Unit=;Reference=IfcSpace.Decomposes\IfcRelAggregates.RelatingObject;" />
                <TemplateRule Parameters="Table=Space;Column=Description;Unit=;Reference=IfcSpace.Description;" />
                <TemplateRule Parameters="Table=Space;Column=ExtSystem;Unit=;Reference=IfcSpace.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Space;Column=ExtObject;Unit=;Reference=IfcSpace\;" />
                <TemplateRule Parameters="Table=Space;Column=ExtIdentifier;Unit=;Reference=IfcSpace.GlobalId;" />
                <TemplateRule Parameters="Table=Space;Column=RoomTag;Unit=;Reference=IfcSpace.LongName;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="4c474284-5ccc-498f-bcb0-8747aaf5dbf3" applicableRootEntity="IfcSpatialElement">
          <Definitions />
          <Concepts>
            <Concept uuid="22798761-61c5-4203-9da0-3b9d043b7c49" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="92f081be-1a29-4106-9385-54afa314a719" applicableRootEntity="IfcSite">
          <Definitions />
          <Concepts>
            <Concept uuid="de02db16-2e8d-4867-b429-7fccbfe07f81" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="4d15bd2f-cf40-4bf5-96ba-5665155001e9" name="Object Aggregation">
              <Definitions />
              <Template ref="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="PredefinedType=;RelatedObjects=IfcBuilding;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="9849ff73-459d-4c2f-935a-b51c9e408273" applicableRootEntity="IfcCableSegment">
          <Definitions />
          <Concepts>
            <Concept uuid="fa3f137e-b66e-4e1b-b8a2-6771d17290cb" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="5169323c-7c8c-468d-ae30-a413fd024b26" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="a08b313d-1c30-4d51-9929-2e8c01d626fb" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcCableSegmentType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="c01b7604-a32c-4750-bd6a-6b7cde157247">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_CableSegmentTypeCommon;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_CableSegmentOccurrence;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="176df086-6116-47ec-926f-0cacf0c876fe" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="The input end of the cable. While many cables may be bidirectional, port direction is indicated for connectivity purposes." Parameters="Name=Input;Type=NOTDEFINED;Flow=SINK" />
                <TemplateRule Description="The output end of the cable. While many cables may be bidirectional, port direction is indicated for connectivity purposes." Parameters="Name=Output;Type=NOTDEFINED;Flow=SOURCE" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="4f6417b4-3df2-4e86-92af-1060978ad07f" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements />
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="95651a32-b492-41aa-8ba0-5f84446d5708" applicableRootEntity="IfcCableSegmentType">
          <Definitions />
          <Concepts>
            <Concept uuid="b6a7b030-c856-4a38-8fad-5e14fe205a58" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="6e94bf4b-e5ec-4c12-9590-edabdd4b893e" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="8a306087-d170-48c8-818b-ce05cb012e07" applicableRootEntity="IfcCommunicationsAppliance">
          <Definitions />
          <Concepts>
            <Concept uuid="2bbf4286-5e0d-4eab-8571-07562bfd849e" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="9c23c99c-a46f-4d7f-9d68-09145cfaab0d" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="87b47799-1944-4f61-8178-cc219dd50905" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcCommunicationsApplianceType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="88ff1c8b-bb9a-4e6a-8f53-393d469619a0">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_CommunicationsAppliancePHistory;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_CommunicationsApplianceTypeCommon;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="afe83f4f-82ef-4deb-a890-bcc696bb04f0" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=ANTENNA;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="Electromagnetic waves." Parameters="PredefinedType=ANTENNA;Name=Radio;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="The modulated analog signal in a circuit, such as a cable connected to a modem." Parameters="PredefinedType=ANTENNA;Name=Signal;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=COMPUTER;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="A network connection, may be wired or wireless (implicit antenna), such as a cable connected from a data outlet jack or from a router communications appliance. While communication is bidirectional, the router-end is considered to be the source." Parameters="PredefinedType=COMPUTER;Name=Network;Type=DATA;Flow=SINK" />
                <TemplateRule Description="A device connection such as USB or serial, which may connect to equipment such as a building automation controller." Parameters="PredefinedType=COMPUTER;Name=Device;Type=CONTROL;Flow=SOURCE" />
                <TemplateRule Description="Audio/video output, such as a cable connected to a display, which may be aggregated into separate channels." Parameters="PredefinedType=COMPUTER;Name=Display;Type=AUDIOVISUAL;Flow=SOURCE" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=FAX;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="Telephone connection." Parameters="PredefinedType=FAX;Name=Phone;Type=TELEPHONE;Flow=SINK" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=MODEM;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="Modulated analog signal, typically a cable connecting from a communications junction box or an antenna." Parameters="PredefinedType=MODEM;Name=Signal;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="Internet data network." Parameters="PredefinedType=MODEM;Name=Internet;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="Television modulated signal." Parameters="PredefinedType=MODEM;Name=Television;Type=TV;Flow=SOURCE" />
                <TemplateRule Description="Telephone communications." Parameters="PredefinedType=MODEM;Name=Telephone;Type=TELEPHONE;Flow=SOURCE" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=PRINTER;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="A network connection, may be wired or wireless." Parameters="PredefinedType=PRINTER;Name=Network;Type=DATA;Flow=SINK" />
                <TemplateRule Description="Telephone connection for fax support." Parameters="PredefinedType=PRINTER;Name=Phone;Type=TELEPHONE;Flow=SINK" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=REPEATER;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="The receiving signal." Parameters="PredefinedType=REPEATER;Name=Input;Type=SIGNAL;Flow=SINK" />
                <TemplateRule Description="The transmitted amplified signal." Parameters="PredefinedType=REPEATER;Name=Output;Type=SIGNAL;Flow=SOURCE" />
                <TemplateRule Description="Receives electrical power." Parameters="PredefinedType=ROUTER;Name=Power;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="Uplink from another network, such as a cable connected to another router or modem accessing the Internet." Parameters="PredefinedType=ROUTER;Name=Uplink;Type=DATA;Flow=SINK" />
                <TemplateRule Description="A wireless access point." Parameters="PredefinedType=ROUTER;Name=WiFi;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#1;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#2;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#3;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#4;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#5;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#6;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#7;Type=DATA;Flow=SOURCE" />
                <TemplateRule Description="A network link to a routed device such as a cable connecting to a computer." Parameters="PredefinedType=ROUTER;Name=Link#8;Type=DATA;Flow=SOURCE" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="4632385d-8eac-4d35-8e4d-2721da674f8a" name="Spatial Containment">
              <Definitions />
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements />
              <Rules>
                <TemplateRule Parameters="Structure=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="c09dfcd1-2ced-49de-b21b-eae16332cc21" applicableRootEntity="IfcSwitchingDevice">
          <Definitions />
          <Concepts>
            <Concept uuid="74583d36-65be-4ac1-8da8-9a77684badc1" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="12d877d8-c8ff-47ea-bca8-264be4b740ff" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="5dd70f86-c081-4c43-ae63-a19681880295" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcSwitchingDeviceType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="276b72f8-e20d-4c1c-81fc-80b247b3d7f3">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=;Name=Pset_SwitchingDeviceTypeCommon;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=CONTACTOR;Name=Pset_SwitchingDeviceTypeContactor;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=DIMMERSWITCH;Name=Pset_SwitchingDeviceTypeDimmerSwitch;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=EMERGENCYSTOP;Name=Pset_SwitchingDeviceTypeEmergencyStop;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=KEYPAD;Name=Pset_SwitchingDeviceTypeKeypad;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=MOMENTARYSWITCH;Name=Pset_SwitchingDeviceTypeMomentarySwitch;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_SwitchingDeviceTypePHistory;TemplateType=PSET_PERFORMANCEDRIVEN;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=SELECTORSWITCH;Name=Pset_SwitchingDeviceTypeSelectorSwitch;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=STARTER;Name=Pset_SwitchingDeviceTypeStarter;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=SWITCHDISCONNECTOR;Name=Pset_SwitchingDeviceTypeSwitchDisconnector;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=TOGGLESWITCH;Name=Pset_SwitchingDeviceTypeToggleSwitch;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="38b7ab9d-0ba1-4d77-bbe4-d9d7ac2eaed2" name="Port">
              <Definitions>
                <Definition>
                  <Body><![CDATA[]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="bafc93b7-d0e2-42d8-84cf-5da20ee1480a" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Description="The supply line." Parameters="Name=Line;Type=ELECTRICAL;Flow=SINK" />
                <TemplateRule Description="The load controlled by the switch." Parameters="Name=Load;Type=ELECTRICAL;Flow=SOURCE" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="7edf2706-622a-4faf-a8ef-222f2c6fadfe" applicableRootEntity="IfcSwitchingDeviceType">
          <Definitions />
          <Concepts>
            <Concept uuid="eed1526d-77e2-499e-98da-c14a3860881e" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="1ca5ff90-4999-4ab3-b2d1-970a1059c89d" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="28cbe5d5-1138-4708-8eea-497ec86d44e1" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="31eee8ad-8b19-4280-b950-55eee1c850ef" name="Product Type Assignment">
              <Definitions />
              <Template ref="8b9545ad-f9e9-403d-8682-5460bfeb2706" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="ea70c021-7b06-4196-9f5f-1a4ef0b79e81" applicableRootEntity="IfcCommunicationsApplianceType">
          <Definitions />
          <Concepts>
            <Concept uuid="6e58d510-058e-4f98-8817-15c349c6f34a" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="ba5643ae-b0fa-43d1-beb5-3ef26419ac0d" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="4b4f8d52-a257-4220-b2c7-f51aaee56517" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="20e8091b-f79b-47e5-a69d-486190967975" applicableRootEntity="IfcSystem">
          <Definitions />
          <Concepts>
            <Concept uuid="42b89700-5e56-4079-a9a9-ba517947f0b1" name="Table Mapping">
              <Definitions />
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=System;Column=Name;Unit=;Reference=IfcSystem.Name;" />
                <TemplateRule Parameters="Table=System;Column=CreatedBy;Unit=;Reference=IfcSystem.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=System;Column=CreatedOn;Unit=;Reference=IfcSystem.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=System;Column=Category;Unit=;Reference=IfcSystem.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=System;Column=ComponentNames;Unit=Name;Reference=IfcSystem.IsGroupedBy[*]\IfcRelAssignsToGroup.RelatedObjects[*];" />
                <TemplateRule Parameters="Table=System;Column=ExtSystem;Unit=;Reference=IfcSystem.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=System;Column=ExtObject;Unit=;Reference=IfcSystem\;" />
                <TemplateRule Parameters="Table=System;Column=ExtIdentifier;Unit=;Reference=IfcSystem.GlobalId;" />
                <TemplateRule Parameters="Table=System;Column=Description;Unit=;Reference=IfcSystem.Description;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="43031fcb-374e-4dde-997f-bb3b339eb0e7" applicableRootEntity="IfcTransportElement">
          <Definitions />
          <Concepts>
            <Concept uuid="6ad656e6-30cd-48ed-a78f-1769a1a4f37b" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="7f815941-f096-409f-971f-3de7fdc8e017" name="Classification">
              <Definitions />
              <Template ref="4a224609-6578-4c75-afcf-8affa86e5ef2" />
              <Requirements />
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="bdecd92d-d763-4881-bb45-a28ea4fea20c" name="Object Typing">
              <Definitions />
              <Template ref="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcTransportElementType;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="a069de4f-6ebf-4127-bc5d-b9dd34ff241b">
              <Definitions />
              <Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule RuleID="IfcPropertySet" Parameters="Name=Pset_TransportElementCommon;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
                <TemplateRule RuleID="IfcPropertySet" Parameters="PredefinedType=ELEVATOR;Name=Pset_TransportElementElevator;TemplateType=PSET_TYPEDRIVENOVERRIDE;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="1ecd6975-dad3-4a07-99a7-caa9e58db61d" name="Spatial Containment">
              <Definitions>
                <Definition>
                  <Body><![CDATA[<p>Transport elements are positioned within the building storey at the base level for which they are contained.</p>]]></Body>
                  <Links />
                </Definition>
              </Definitions>
              <Template ref="d9a3f822-0014-4bc2-8d94-9d9067759045" />
              <Requirements />
              <Rules>
                <TemplateRule Parameters="Structure=IfcBuildingStorey;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="a1c39503-6456-46aa-8b6e-8c846d36e3c4" applicableRootEntity="IfcTransportElementType">
          <Definitions />
          <Concepts>
            <Concept uuid="fa53f854-ed4e-4023-9978-72b429dc1a98" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="a69b4204-2122-4c60-8ae9-0e118903c393" name="Property Sets for Types">
              <Definitions />
              <Template ref="4be3312a-3199-492e-b204-cac2229a9ade" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
        <ConceptRoot uuid="12a7d97e-bbfd-4c95-9f30-2a564a48809e" applicableRootEntity="IfcZone">
          <Definitions />
          <Concepts>
            <Concept uuid="ba2a0baa-7efd-410f-bea8-fbf080d3ef32" name="Identity">
              <Definitions />
              <Template ref="f7cb0a08-fee7-4cc0-85fe-43f6a6a0bce1" />
              <Requirements>
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="mandatory" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules />
              <SubConcepts />
            </Concept>
            <Concept uuid="16b3bb71-7395-4939-b418-5f262c506611" name="Object Aggregation">
              <Definitions />
              <Template ref="02eefcc6-b26c-4f20-9c7c-c30ae74eb9a9" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="PredefinedType=;RelatedObjects=IfcZone;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="4a7f8f9e-cb5b-4239-ad47-366f5323c6dc" name="Group Assignment">
              <Definitions />
              <Template ref="f567967f-5493-44d9-ac51-937c09ac2583" />
              <Requirements>
                <Requirement applicability="import" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="export" requirement="excluded" exchangeRequirement="467d7d9f-2fc1-43d8-be0b-91fefbd272df" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Type=IfcSpace;" />
              </Rules>
              <SubConcepts />
            </Concept>
            <Concept uuid="8d671d2e-acff-4d87-ad9f-ddc5f0c49cfe" name="Table Mapping">
              <Definitions />
              <Template ref="daf77f62-7ec3-4ff1-bec2-b3175f51f14b" />
              <Requirements>
                <Requirement applicability="import" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="d5c8c508-d474-4c73-b15e-e353b5ef7711" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="e0d37c5f-562e-494e-baed-e7500bf7965a" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="12ceab2a-261d-43ba-8a1c-014190d3e927" />
                <Requirement applicability="import" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
                <Requirement applicability="export" requirement="optional" exchangeRequirement="4ed6616b-8897-4825-9fb5-6047766d2dcd" />
              </Requirements>
              <Rules>
                <TemplateRule Parameters="Table=Zone;Column=Name;Unit=;Reference=IfcZone.Name;" />
                <TemplateRule Parameters="Table=Zone;Column=CreatedBy;Unit=;Reference=IfcZone.OwnerHistory\IfcOwnerHistory.OwningUser\IfcPersonAndOrganization.ThePerson\IfcPerson.Identification;" />
                <TemplateRule Parameters="Table=Zone;Column=CreatedOn;Unit=;Reference=IfcZone.OwnerHistory\IfcOwnerHistory.CreationDate;" />
                <TemplateRule Parameters="Table=Zone;Column=Category;Unit=;Reference=IfcZone.HasAssociations[*]\IfcRelAssociatesClassification.RelatingClassification\IfcClassificationReference.Identification;" />
                <TemplateRule Parameters="Table=Zone;Column=SpaceNames;Unit=Name;Reference=IfcZone.IsGroupedBy[*]\IfcRelAssignsToGroup.RelatedObjects[*];" />
                <TemplateRule Parameters="Table=Zone;Column=ExtSystem;Unit=;Reference=IfcZone.OwnerHistory\IfcOwnerHistory.OwningApplication\IfcApplication.ApplicationIdentifier;" />
                <TemplateRule Parameters="Table=Zone;Column=ExtObject;Unit=;Reference=IfcZone\;" />
                <TemplateRule Parameters="Table=Zone;Column=ExtIdentifier;Unit=;Reference=IfcZone.GlobalId;" />
                <TemplateRule Parameters="Table=Zone;Column=Description;Unit=;Reference=IfcZone.Description;" />
              </Rules>
              <SubConcepts />
            </Concept>
          </Concepts>
        </ConceptRoot>
      </Roots>
    </ModelView>
  </Views>
</mvdXML>