Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is ifcVersion a requirement or just metadata? #103

Open
rubendel opened this issue Oct 7, 2022 · 1 comment
Open

Is ifcVersion a requirement or just metadata? #103

rubendel opened this issue Oct 7, 2022 · 1 comment
Assignees
Milestone

Comments

@rubendel
Copy link
Contributor

rubendel commented Oct 7, 2022

Follow-up on #101 (comment)

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 :).

@pasi-paasiala pasi-paasiala added this to the 1.0 milestone May 17, 2023
@atomczak atomczak changed the title IFC Schema Is ifcVersion a requirement or just metadata? Nov 7, 2024
@atomczak
Copy link
Contributor

atomczak commented Nov 7, 2024

I thought we agreed on this during the last phase - the ifcVersion should be a requirement, not just metadata. So if IDS says ifcVersion="IFC4.0", the IFC file in version "2x3" should fail.

I think this test case is wrong: https://github.com/buildingSMART/IDS/blob/development/Documentation/ImplementersDocumentation/TestCases/ids/pass-specification_version_is_purely_metadata_and_does_not_impact_pass_or_fail_result.ids

@atomczak atomczak self-assigned this Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants