buildingSMART / buildingSMART/IDS
Flavour of RegEx allowing negation
- Dominant language
- C#
- Stars
- 318
- Forks
- 90
- PR merge metrics
- No merged PRs in 30d
Description
### Discussed in https://github.com/buildingSMART/IDS/discussions/347
Originally posted by **atomczak** September 25, 2024
I want to have a requirement that takes all Walls that don't have the "FireRating" property. In other words, I want an applicability to include IFCWALL entity and a property allowing any name/pset except "FireRating" and "Pset_WallCommon". I thought I could do that with a pattern, but I see that XML flavour doesn't really support a negation lookahead. Has anyone found a way to express it?
Use Case:
> Suppose we have 2 properties, “ID 1” and “ID 2”. BIM team is required to assign either 1 of the 2 properties. Difficult to write the “ids:applicability” section for such cases. E.g.,
>
```
ID 1 property does not exist
ID 2 is mandatory
```
As a solution, I propose to reconsider agreeing on RegEx flavours other than XSD, such as PCRE or JavaScript / Python. We could also agree on explicit IDS flavour, but this will make implementation harder.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the discussion linked from issue 349, especially the examples involving IFCWALL, FireRating, Pset_WallCommon, and alternative property requirements. Review the current XML/XSD regular-expression constraints and compare them with the proposed PCRE, JavaScript, or Python flavours. Done means the supported regex flavour or an explicit IDS flavour is agreed and the use cases can be expressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- xml
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100