buildingSMART / IDS

Computer interpretable (XML) standard to define Information Delivery Specifications for BIM (mainly used for IFC)
Other
167 stars 52 forks source link

Rejected property #241

Open CBenghi opened 3 months ago

CBenghi commented 3 months ago

Question from @NickNisbet

Why are new properties rejected ? Surely IDS isn’t only for official properties?

Error 103: Invalid property name QualityOfComponentsGrade

   <ids:property datatype="IFCLABEL" minOccurs="1" maxOccurs="1">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="*." />
            </xs:restriction>
          </ids:propertySet>
          <ids:name>
            <ids:simpleValue>QualityOfComponentsGrade</ids:simpleValue>
          </ids:name>
          <ids:value>
            <xs:restriction>
              <xs:enumeration value="VERY LOW" />
              <xs:enumeration value="LOW" />
              <xs:enumeration value="TYPICAL" />
              <xs:enumeration value="HIGH" />
              <xs:enumeration value="VERY HIGH" />
              <xs:enumeration value="USERDEFINED" />
              <xs:enumeration value="NOTDEFINED" />
            </xs:restriction>
          </ids:value>
</ids:property>

(Actually this WAS an official property that someone has removed from the schema, which is a shame as it implements an ISO standard.)

Also: Error 401: Reserved prefix 'Pset_' for property set name (Pset_ManufacturerTypeInformation)

       <ids:property datatype="IFCLABEL">
          <ids:propertySet>
            <ids:simpleValue>Pset_ManufacturerTypeInformation</ids:simpleValue>
          </ids:propertySet>
          <ids:name>
            <ids:simpleValue>Manufacturer</ids:simpleValue>
          </ids:name>
        </ids:property>

Regards,

Nick.

CBenghi commented 2 months ago

Hi Nick,

  1. I think that QualityOfComponentsGrade is rejected because the propertySetName is too broad.
  2. The second because buildingSMART insists that Pset_ is a reserved prefix. Only standard properties should have that name.

I will add a much clearer documentation to the audit logic once it's stable.