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

BIMモデルに対して以下のチェックを行いたいです。 
各住戸（A室、B室、C室、D室という名前別で指定）ごとに、専有面積・バルコニー面積の情報がそれぞれ入っているかを、部屋ごとかつ面積エリアごとに別々のspecificationで確認したい。

要素としては 
・プロパティセットは任意の値 
・プロパティ名：専有面積が20㎡以上か バルコニー面積が6㎡以上か

assistant: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
  <!--edit with ONESTRUCTION Inc.-->
  <ids:info>
    <ids:title>住戸面積チェック</ids:title>
  </ids:info>
  <ids:specifications>
    <ids:specification name="D室" ifcVersion="IFC2X3">
      <ids:applicability minOccurs="0" maxOccurs="unbounded">
        <ids:entity>
          <ids:name>
            <ids:simpleValue>IFCSPACE</ids:simpleValue>
          </ids:name>
        </ids:entity>
        <ids:attribute>
          <ids:name>
            <ids:simpleValue>Name</ids:simpleValue>
          </ids:name>
          <ids:value>
            <ids:simpleValue>D室</ids:simpleValue>
          </ids:value>
        </ids:attribute>
      </ids:applicability>
      <ids:requirements>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>バルコニー面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="6"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>専有面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="20"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
      </ids:requirements>
    </ids:specification>
    <ids:specification name="C室" ifcVersion="IFC2X3">
      <ids:applicability minOccurs="0" maxOccurs="unbounded">
        <ids:entity>
          <ids:name>
            <ids:simpleValue>IFCSPACE</ids:simpleValue>
          </ids:name>
        </ids:entity>
        <ids:attribute>
          <ids:name>
            <ids:simpleValue>Name</ids:simpleValue>
          </ids:name>
          <ids:value>
            <ids:simpleValue>C室</ids:simpleValue>
          </ids:value>
        </ids:attribute>
      </ids:applicability>
      <ids:requirements>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>バルコニー面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="6"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>専有面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="20"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
      </ids:requirements>
    </ids:specification>
    <ids:specification name="B室" ifcVersion="IFC2X3">
      <ids:applicability minOccurs="0" maxOccurs="unbounded">
        <ids:entity>
          <ids:name>
            <ids:simpleValue>IFCSPACE</ids:simpleValue>
          </ids:name>
        </ids:entity>
        <ids:attribute>
          <ids:name>
            <ids:simpleValue>Name</ids:simpleValue>
          </ids:name>
          <ids:value>
            <ids:simpleValue>B室</ids:simpleValue>
          </ids:value>
        </ids:attribute>
      </ids:applicability>
      <ids:requirements>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>バルコニー面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="6"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>専有面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="20"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
      </ids:requirements>
    </ids:specification>
    <ids:specification name="A室" ifcVersion="IFC2X3">
      <ids:applicability minOccurs="0" maxOccurs="unbounded">
        <ids:entity>
          <ids:name>
            <ids:simpleValue>IFCSPACE</ids:simpleValue>
          </ids:name>
        </ids:entity>
        <ids:attribute>
          <ids:name>
            <ids:simpleValue>Name</ids:simpleValue>
          </ids:name>
          <ids:value>
            <ids:simpleValue>A室</ids:simpleValue>
          </ids:value>
        </ids:attribute>
      </ids:applicability>
      <ids:requirements>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>バルコニー面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="6"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCAREAMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>専有面積</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="20"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
      </ids:requirements>
    </ids:specification>
  </ids:specifications>
</ids:ids>