buildingSMART / IDS

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

Invalid development file #207

Closed CBenghi closed 7 months ago

CBenghi commented 7 months ago

Hello @berlotti,

a few weeks ago you've added the OMA file to the development folder, but it contains a number audit failures starting from the following:

https://github.com/buildingSMART/IDS/blob/f597547179cf9368b8b9e4f3217327828fa747ea/Development/IDS_oma.ids#L138

the full audit report is as follows:

Auditing: Ids structure, Ids content.
Auditing file: `C:\Data\Dev\BuildingSmart\IDS\Development\IDS_oma.ids`.
Error 103: Invalid property name `TravelDirection` (6 accepted values exist, starting with GrossPlannedArea, HandicapAccessible, IsExternal, NetPlannedArea, PubliclyAccessible...) in the context of Ifc4x3 on 'simpleValue' element at line 138, position 8.
Error 103: Invalid attribute name `MovementType` (922 accepted values exist, starting with AccessState, ActingRole, ActionSource, ActionType, ActualDate...) in the context of Ifc4x3 on 'simpleValue' element at line 208, position 8.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_OMA_Door) in the context of Ifc4x3 on 'property' element at line 302, position 6.
Error 103: Invalid property name `RequiredDoorFlowrate` (19 accepted values exist, starting with AcousticRating, DurabilityRating, FireExit, FireRating, GlazingAreaFraction...) in the context of Ifc4x3 on 'simpleValue' element at line 339, position 8.
Error 103: Invalid property name `EffectiveWidth` (20 accepted values exist, starting with FireExit, FireRating, HandicapAccessible, HasNonSkidSurface, IsExternal...) in the context of Ifc4x3 on 'simpleValue' element at line 428, position 8.
Error 103: Invalid property name `TravelDirection` (20 accepted values exist, starting with FireExit, FireRating, HandicapAccessible, HasNonSkidSurface, IsExternal...) in the context of Ifc4x3 on 'simpleValue' element at line 460, position 8.
Error 103: Invalid property name `AccelerationRate` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 536, position 8.
Error 103: Invalid property name `DecelerationRate` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 544, position 8.
Error 103: Invalid property name `DoorOpeningTime` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 552, position 8.
Error 103: Invalid property name `DoorClosingTime` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 560, position 8.
Error 103: Invalid property name `DoorDwellTime` (accepted values are ClearDepth,ClearHeight,ClearWidth,FireFightingLift) in the context of Ifc4x3 on 'simpleValue' element at line 568, position 8.
Error 103: Invalid property name `MotorDelayTime` (accepted values are ClearDepth,ClearHeight,ClearWidth,FireFightingLift) in the context of Ifc4x3 on 'simpleValue' element at line 576, position 8.
Error 103: Invalid property name `StoriesServed` (accepted values are ClearDepth,ClearHeight,ClearWidth,FireFightingLift) in the context of Ifc4x3 on 'simpleValue' element at line 584, position 8.
Error 103: Invalid property name `Group` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 592, position 8.
Error 103: Invalid property name `LoadingArea` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 600, position 8.
Error 103: Invalid property name `IsActive` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 635, position 8.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportEscalator) in the context of Ifc4x3 on 'property' element at line 638, position 6.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportEscalator) in the context of Ifc4x3 on 'property' element at line 646, position 6.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportEscalator) in the context of Ifc4x3 on 'property' element at line 654, position 6.
Error 103: Invalid property name `ClearWidth` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 667, position 8.
Error 103: Invalid property name `LoadingArea` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 680, position 8.
Error 103: Invalid property name `IsActive` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 723, position 8.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportMovingWalkway) in the context of Ifc4x3 on 'property' element at line 726, position 6.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportMovingWalkway) in the context of Ifc4x3 on 'property' element at line 734, position 6.
Error 401: Reserved prefix 'Pset_' for property set name (Pset_TransportMovingWalkway) in the context of Ifc4x3 on 'property' element at line 742, position 6.
Error 103: Invalid property name `ClearWidth` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 755, position 8.
Error 103: Invalid property name `LoadingArea` (accepted values are CyclicRange,LinearRange,MaximumAngularVelocity,MaximumConstantSpeed,MinimumTime) in the context of Ifc4x3 on 'simpleValue' element at line 768, position 8.
Error 103: Invalid property name `DirectionOfTravel` (11 accepted values exist, starting with FireExit, FireRating, HandicapAccessible, HasNonSkidSurface, IsExternal...) in the context of Ifc4x3 on 'simpleValue' element at line 846, position 8.
Completed reading 1373 xml elements.
Completed with status: IdsContentError.

Could you double check with the authors if it's a problem with the file or with the audit tool, please? Best, Claudio

andyward commented 7 months ago

Feels like the audit tool needs to be a bit less black & white over what's an error?

For me those 103 'No Valid match' failures on Psets should be classed as a Warning rather than an Error. There's a difference between an Attribute name being invalid and a PropertyName not being one of the officially sanctioned ones - despite both being a lookup against some static reference data. The former is clearly a broken specification, while I'd argue the latter is largely an end user's perogative to not follow the Pset & Property naming guidelines. You could make the same case for using 'reserved' Pset_ prefixes for custom property sets (the 401 errors).

I'd compare IDS Audit error levels to software build errors. Errors, Warnings and Information logs are a useful analogy:

Error: The input is broken. It won't work unless you fix the issue Warning: This is bad practice, and may not work the way you hope, or may break in future Information: A friendly nudge that there may be new or better ways to get this done

janbrouwer commented 7 months ago

@CBenghi Those are all very valid issues. This IDS is based on the OMA buildingsmart workgroup list of proposed changes to IFC. I think the list of issues nicely summarizes all proposals. To make it a valid IDS now we should remove/rename these OR reference another IFC schema that does not (yet?) exist.

@andyward adding different levels of error messages sounds like a good idea. They are real errors. Not in xml parsing, but some are invalid enumerations against the IFC schema, and others only break the reserved propertyset name guidelines which are pretty common, but still errors

CBenghi commented 7 months ago

@berlotti, would you like to comment on this?

berlotti commented 7 months ago

wow! I didn't notice that one.... it should indeed be a valid IDS (valid IFC). I just made some quick changes. Thanks for noticing!