-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Hi,
a customer was confused about components with an empty string IFCLABEL property passing the following ids check:
<ids:specifications>
<ids:specification name="Specification 1" ifcVersion="IFC4">
<ids:applicability minOccurs="1" maxOccurs="unbounded">
<ids:entity>
<ids:name>
<ids:simpleValue>IFCWALL</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:property cardinality="required" dataType="IFCLABEL">
<ids:propertySet>
<ids:simpleValue>Pset_Name</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>Foo</ids:simpleValue>
</ids:baseName>
</ids:property>
</ids:requirements>
</ids:specification>
</ids:specifications>
From the customer's point of view, there is no difference between the property having null value or empty string, since in both cases the required data is not there so the check should fail.
The example in the "Cardinality of Requirements" section of the ids documentation states, for the "required" cardinality, that "Matching entities have a ePset_SpaceOMA/TravelDirection property of type IFCLABEL and non null value".
In the current spec, should IFCLABEL('') be considered non-null? If it is, does it make sense from the user's point of view? Most non-developers would not know/care about the distinction between null and empty string, and authoring tools could be producing either when the value of a property is deleted.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status