Comments (7)
A note that the cardinality may be fixed in the schema, but that's a separate thing to the cardinality in IDS.
For example, the cardinality in schema might be optional, but the IDS might say "It is required for this to be filled in" or "It is prohibited for this to be filled in".
from ids.
I recall attribute regexes were useful in some of the more annoying situations like LayerSetName vs Name.
It also has usecases in schema differences.
Why is the cardinality for attributes meaningless?
from ids.
There are very few useful attributes in IFC. Most of the expected use cases deal with things like property sets and classifications. That's why I'd prefer to keep the attribute implementation as simple as possible. The effort to write LayerSetName instead of using regex is small in comparison to supporting this in multiple implementations.
The current schemas are compatible, aren't they? Things are only added, so I don't understand the point of schema difference use cases.
In my opinion, you can only set requirements for an attribute value. Whether there is an attribute or not depends on the schema and not on the user. That's why I think cardinality is meaningless.
from ids.
from ids.
schema compatibility in ifc also applies to ifcXML (if used), so I agree with Pasi. In case of attributes (mainly "Name", "Description", "LongName", and a few others) both the attribute name and the attribute cardinality are fixed in the schema and no use for wildcards or other cardinality bounds. So requirements for attributes are only useful for its value, not for the attribute name.
from ids.
The cardinality for attributes then can only be min/max = 0 or min/max = 1. Or should cardinality be applied to the value of the attribute, for example, if it is a list, then you could require that it has at least three items? I wonder, if there are any list attributes?
from ids.
The cardinality for everything, not just attributes, can either be required, optional, or prohibited only. IDS as far as I'm aware has no scope right now for checking cardinality in the full sense of "there must be N items"
Note that handling lists is also covered in the test cases.
from ids.
Related Issues (20)
- Default branch settings HOT 1
- Data type of IfcLengthMeasure "Real" or "Double"? HOT 1
- List of datatypes with Enum types used by attributes HOT 6
- List of datatypes without IfcCompoundPlaneAngleMeasure HOT 2
- IfcLogical representation in XML base HOT 1
- IMPROVEMENT: functionality to point towards bSDD (data dictionaries) HOT 4
- IDS BIM
- Restriction of values: Enumeration limited to string-based datatype or do we allow for real, integer and measurements HOT 3
- Predefined type evaluation
- userdefuned HOT 6
- Test case naming consistency HOT 2
- 2 testcases have .html file instead of .ifc HOT 2
- Tolerance documentation 1.0.0 HOT 6
- Wrong file name in the entity directory of test cases HOT 1
- Tolerance test issues in 1.0 HOT 3
- Are complex restrictions applicable to all facet parameters? HOT 2
- Test case for indirect containment is incorrect
- Relation between enumerations in Applicability and Requirements HOT 1
- Broken links on dev Readme
- Add textual definitions to each IDS element HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ids.