Specification — the unit of an IDS file
<specification>What it is
A specification is a single, self-contained rule. It has two halves: an applicability block (which IFC elements does this rule apply to?) and a requirements block (what data must those elements carry?). One IDS file holds many specifications — group them by phase (Design / Construction / FM), by discipline (Arch / Struct / MEP), or by purpose (Cost / Carbon / Maintenance) so the failure report stays readable.
XML shape
<specification name="Wall fire rating" ifcVersion="IFC4">
<applicability>
<entity><name><simpleValue>IfcWall</simpleValue></name></entity>
<property dataType="IfcBoolean">
<propertySet><simpleValue>Pset_WallCommon</simpleValue></propertySet>
<baseName><simpleValue>IsExternal</simpleValue></baseName>
<value><simpleValue>true</simpleValue></value>
</property>
</applicability>
<requirements>
<property dataType="IfcLabel">
<propertySet><simpleValue>Pset_WallCommon</simpleValue></propertySet>
<baseName><simpleValue>FireRating</simpleValue></baseName>
<value><restriction base="xs:string">
<pattern value="^[0-9]+/[0-9]+/[0-9]+$"/>
</restriction></value>
</property>
</requirements>
</specification>
The six facet types
Free / open-source IDS tools
Why this matters for estimators & BIM leads
Without IDS, the BOQ extract from a model fails on Friday afternoon because the FireRating property the cost plan depends on was never populated. With IDS, the modeller's authoring tool fails the validation at every weekly issue and they fix it. The whole point is to surface data gaps early, in the modeller's hands, not late in yours.