From 339f6ba9809480c5929f96889936d9d87042f5e6 Mon Sep 17 00:00:00 2001 From: Claudio Benghi Date: Mon, 4 May 2026 22:58:54 +0100 Subject: [PATCH 1/2] Fixed mapping of IfcUriReference to backing type This makes URIs regex more specific to be valid, while still very loose. Also added minor comment to specifications, to clarify the role of `Instructions` for facets associated with requirements. --- Documentation/ImplementersDocumentation/DataTypes.md | 5 +++-- Documentation/UserManual/specifications.md | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/ImplementersDocumentation/DataTypes.md b/Documentation/ImplementersDocumentation/DataTypes.md index 25c7cea6..0a22edfe 100644 --- a/Documentation/ImplementersDocumentation/DataTypes.md +++ b/Documentation/ImplementersDocumentation/DataTypes.md @@ -279,7 +279,7 @@ Columns of the table determine the validity of the type depending on the schema | IFCRATIOMEASURE | ✓ | ✓ | ✓ | xs:double | | IFCREAL | ✓ | ✓ | ✓ | xs:double | | IFCRECURRENCETYPEENUM | | ✓ | ✓ | xs:string | -| IFCREFERENTTYPEENUM | | ✓ | ✓ | xs:string | +| IFCREFERENTTYPEENUM | | | ✓ | xs:string | | IFCREFLECTANCEMETHODENUM | ✓ | ✓ | ✓ | xs:string | | IFCREINFORCEDSOILTYPEENUM | | | ✓ | xs:string | | IFCREINFORCINGBARROLEENUM | ✓ | ✓ | ✓ | xs:string | @@ -373,7 +373,7 @@ Columns of the table determine the validity of the type depending on the schema | IFCUNITARYCONTROLELEMENTTYPEENUM | | ✓ | ✓ | xs:string | | IFCUNITARYEQUIPMENTTYPEENUM | ✓ | ✓ | ✓ | xs:string | | IFCUNITENUM | ✓ | ✓ | ✓ | xs:string | -| IFCURIREFERENCE | | ✓ | ✓ | xs:string | +| IFCURIREFERENCE | | ✓ | ✓ | xs:anyUri | | IFCVALVETYPEENUM | ✓ | ✓ | ✓ | xs:string | | IFCVAPORPERMEABILITYMEASURE | ✓ | ✓ | ✓ | xs:double | | IFCVEHICLETYPEENUM | | | ✓ | xs:string | @@ -408,6 +408,7 @@ The list of valid XML base types for the `base` attribute of `xs:restriction`, t | Base type | Value string regex constraint | annotation | pattern | enumeration | minLength | maxLength | length | minExclusive | maxExclusive | minInclusive | maxInclusive | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------- | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | +| xs:anyUri | ^\S+$ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | xs:boolean | ^(true|false|0|1)$ | ✓ | ✓ | | | | | | | | | | xs:date | ^\d{4}-\d{2}-\d{2}(Z|([+-]\d{2}:\d{2}))?$ | ✓ | ✓ | ✓ | | | | ✓ | ✓ | ✓ | ✓ | | xs:dateTime | ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|([+-]\d{2}:\d{2}))?$ | ✓ | ✓ | ✓ | | | | ✓ | ✓ | ✓ | ✓ | diff --git a/Documentation/UserManual/specifications.md b/Documentation/UserManual/specifications.md index 59a5f503..17639763 100644 --- a/Documentation/UserManual/specifications.md +++ b/Documentation/UserManual/specifications.md @@ -28,6 +28,7 @@ A **Facet** describes its information precisely using fixed **Facet Parameters** When a **Facet** is used in the **Applicability** section, it describes the information that we use to identify the relevant parts of the model. When a **Facet** is used in the **Requirements** section, it describes the information constraints that the model parts must fulfill to comply with the **Specification**. +Each facet in the requirements can be enriched with an optional `instructions` text to help end-users complete the model. ![IDS Structure](Graphics/ids-structure.png) From 833801b9485009569ba1ef5f40a8ce8f477571b8 Mon Sep 17 00:00:00 2001 From: Claudio Benghi Date: Sat, 9 May 2026 01:00:11 +0100 Subject: [PATCH 2/2] Fixed capitalisation of xs:anyURI type The correct name in xml schema documenation has URI all capitals. --- Documentation/ImplementersDocumentation/DataTypes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/ImplementersDocumentation/DataTypes.md b/Documentation/ImplementersDocumentation/DataTypes.md index 0a22edfe..215cdd96 100644 --- a/Documentation/ImplementersDocumentation/DataTypes.md +++ b/Documentation/ImplementersDocumentation/DataTypes.md @@ -373,7 +373,7 @@ Columns of the table determine the validity of the type depending on the schema | IFCUNITARYCONTROLELEMENTTYPEENUM | | ✓ | ✓ | xs:string | | IFCUNITARYEQUIPMENTTYPEENUM | ✓ | ✓ | ✓ | xs:string | | IFCUNITENUM | ✓ | ✓ | ✓ | xs:string | -| IFCURIREFERENCE | | ✓ | ✓ | xs:anyUri | +| IFCURIREFERENCE | | ✓ | ✓ | xs:anyURI | | IFCVALVETYPEENUM | ✓ | ✓ | ✓ | xs:string | | IFCVAPORPERMEABILITYMEASURE | ✓ | ✓ | ✓ | xs:double | | IFCVEHICLETYPEENUM | | | ✓ | xs:string | @@ -408,7 +408,7 @@ The list of valid XML base types for the `base` attribute of `xs:restriction`, t | Base type | Value string regex constraint | annotation | pattern | enumeration | minLength | maxLength | length | minExclusive | maxExclusive | minInclusive | maxInclusive | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------- | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | -| xs:anyUri | ^\S+$ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | +| xs:anyURI | ^\S+$ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | xs:boolean | ^(true|false|0|1)$ | ✓ | ✓ | | | | | | | | | | xs:date | ^\d{4}-\d{2}-\d{2}(Z|([+-]\d{2}:\d{2}))?$ | ✓ | ✓ | ✓ | | | | ✓ | ✓ | ✓ | ✓ | | xs:dateTime | ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|([+-]\d{2}:\d{2}))?$ | ✓ | ✓ | ✓ | | | | ✓ | ✓ | ✓ | ✓ |