buildingSMART / buildingSMART/IDS
Is ifcVersion a requirement or just metadata?
- Dominant language
- C#
- Stars
- 318
- Forks
- 90
- PR merge metrics
- No merged PRs in 30d
Description
Follow-up on https://github.com/buildingSMART/IDS/pull/101#issuecomment-1271269032
The ```Specification``` tag contains the ```ifcVersion``` attribute. In version 0.9 of IDS this is a required attribute, but to be valid against the schema, a value of "" is allowed...
Currently in the test cases, the ifcVersion attribute is regarded as having no effect whatsoever on the outcome of any IDS check.
A few reasons for making the IFC schema more significant:
- Pre-check validation of IDS specs. For example non existing attributes, inverses and derived attributes all require knowledge of the applicable schema(s). This will of course be limited in use when regexes are used for identifying attributes, which I my opinion is still something we should not want to allow at all, but that's a different issue.
- When we added this to ```Specification``` (it was first in the ```Header```) the idea was that you can have one IDS, that works for 2 different schemas, by having 2 specifications; one for schema X and one for schema Y. Logically they would check the same thing, but depending on the IFC schema, only one would be executed each time. You can imagine schema X having a Property for some information whereas schema Y now has a dedicated Attribute for the same information. Personally I am not too sure about how often this will happen.
It would be good to have a little bit of a discussion on this I think, my point would be that any Specification in an IDS that does not match with the IfcSchema of an IFC file, should simply be skipped and not evaluated at all. I did miss some meetings, so perhaps this is already a done deal, just let me know :).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.