Skip to content

Commit aaa3831

Browse files
committed
feat: update changes yaml spec for latest ISO 10303
1 parent e5e4532 commit aaa3831

7 files changed

Lines changed: 396 additions & 114 deletions

File tree

sources/express-changes/document.adoc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:docnumber: 5005
33
:edition: 1
44
:copyright-year: 2025
5-
:revdate: 2025-02-06
5+
:revdate: 2025-10-14
66
:language: en
77
:title-main-en: EXPRESS changes model in YAML
88
:doctype: standard
@@ -32,6 +32,12 @@ include::sections/02-normrefs.adoc[]
3232

3333
include::sections/03-terms.adoc[]
3434

35-
include::sections/04-spec.adoc[]
35+
include::sections/04-structure.adoc[]
36+
37+
include::sections/05-schema-change.adoc[]
38+
39+
include::sections/06-mapping-change.adoc[]
40+
41+
include::sections/aa-examples.adoc[]
3642

3743
include::sections/az-bibliography.adoc[]

sources/express-changes/sections/04-spec.adoc

Lines changed: 0 additions & 105 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
== Structure
2+
3+
An EXPRESS Changes document is a YAML file that records changes made to an
4+
EXPRESS schema across different editions or versions.
5+
6+
There are two kinds of changes:
7+
8+
* Schema changes
9+
* Mapping changes
10+
11+
The top-level structure of an EXPRESS Changes document has the following
12+
specification.
13+
14+
[source,yaml]
15+
----
16+
schema: String (required)
17+
# Name of the EXPRESS schema
18+
editions:
19+
- version: String (required)
20+
# Version number for this change edition
21+
description: String (required)
22+
# Description of changes in this edition
23+
{type_of_change}:
24+
- description: String (required)
25+
# Description of the change
26+
# ... additional fields depending on type_of_change
27+
----
28+
29+
Fields:
30+
31+
`schema`:: The name of the EXPRESS schema (string) (required).
32+
+
33+
[example]
34+
`support_resource_schema`
35+
36+
`editions`:: An array of edition change objects (required).
37+
38+
`type_of_change`:: One of `additions`, `modifications`, `removals`, or
39+
`mapping`.
40+
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
2+
== Schema change
3+
4+
=== General
5+
6+
The schema change structure captures modifications to the structure and
7+
semantics of an EXPRESS schema across different editions or versions. It
8+
captures additions, modifications, and removals of schema elements such as
9+
entities, types, functions, and rules.
10+
11+
The structure is built on the following constructs:
12+
13+
* Edition changes: Each edition or version of the schema, detailing what
14+
changed.
15+
16+
* Item changes: Specific elements that were added, modified, or removed in an
17+
edition.
18+
19+
Syntax:
20+
21+
[source,yaml]
22+
----
23+
schema: String (required)
24+
# Name of the EXPRESS schema
25+
editions:
26+
- {edition change 1}
27+
- {edition change 2}
28+
----
29+
30+
31+
=== Edition change
32+
33+
Each edition change represents a specific version of the schema and details
34+
the changes made in that version.
35+
36+
Syntax:
37+
38+
[source,yaml]
39+
----
40+
version: String (required)
41+
# Version number for this change edition
42+
description: String (required)
43+
# Description of changes in this edition
44+
additions:
45+
- {item change 1}
46+
- {item change 2}
47+
modifications:
48+
- {item change 1}
49+
- {item change 2}
50+
removals:
51+
- {item change 1}
52+
- {item change 2}
53+
----
54+
55+
Fields:
56+
57+
`version`:: The version number (string) (required).
58+
+
59+
[example]
60+
`2`, `3.1`, `2024-06`.
61+
62+
`description`:: A multi-line string describing the changes made in this edition
63+
(required). Should provide a comprehensive overview of what changed and why.
64+
65+
`additions`:: An array of added elements as item changes (optional).
66+
67+
`modifications`:: An array of modified elements as item changes (optional).
68+
69+
`removals`:: An array of removed elements as item changes (optional).
70+
71+
72+
73+
=== Item change
74+
75+
Each item change represents a specific schema element that was added, modified,
76+
or removed.
77+
78+
Syntax:
79+
80+
[source,yaml]
81+
----
82+
type: String (required)
83+
# Type of the EXPRESS construct (e.g., ENTITY, TYPE, FUNCTION)
84+
name: String (required)
85+
# Name of the EXPRESS construct
86+
----
87+
88+
Fields:
89+
90+
`type`:: The type of the EXPRESS construct (string) (required). Allowed values
91+
are:
92+
93+
`ENTITY`::: Entity definitions
94+
`TYPE`::: Type definitions (including SELECT, ENUMERATION)
95+
`FUNCTION`::: Function definitions
96+
`RULE`::: Rule definitions
97+
`PROCEDURE`::: Procedure definitions
98+
`CONSTANT`::: Constant definitions
99+
100+
`name`:: The name of the EXPRESS construct (string) (required).
101+
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
== Mapping change
2+
3+
=== General
4+
5+
6+
A mapping change records modifications to the mapping of an EXPRESS schema to
7+
another schema or representation.
8+
9+
The structure is built on the following constructs:
10+
11+
* Edition changes: Each edition or version of the schema, detailing what
12+
changed.
13+
14+
* Item changes: Specific elements that had mappings changed in an edition.
15+
16+
Syntax:
17+
18+
[source,yaml]
19+
----
20+
schema: String (required)
21+
# Name of the EXPRESS schema
22+
editions:
23+
- {edition change 1}
24+
- {edition change 2}
25+
----
26+
27+
=== Edition change
28+
29+
Each edition change represents a specific version of the schema and details
30+
the mapping changes made in that version.
31+
32+
Syntax:
33+
34+
[source,yaml]
35+
----
36+
version: String (required)
37+
# Version number for this change edition
38+
description: String (required)
39+
# Description of changes in this edition
40+
mapping:
41+
- {item change 1}
42+
- {item change 2}
43+
----
44+
45+
Fields:
46+
47+
`version`:: The version number (string) (required).
48+
+
49+
[example]
50+
`2`, `3.1`, `2024-06`.
51+
52+
`description`:: A multi-line string describing the changes made in this edition
53+
(required). Should provide a comprehensive overview of what changed and why.
54+
55+
`mappings`:: An array of mapping changes (optional).
56+
57+
58+
=== Mapping change
59+
60+
Each mapping change represents a specific element whose mapping has changed in an
61+
edition.
62+
63+
Syntax:
64+
65+
[source,yaml]
66+
----
67+
name: String (required)
68+
# Name of the EXPRESS construct whose mapping changed
69+
description: String (optional)
70+
# Description of the mapping change
71+
----
72+
73+
Fields:
74+
75+
`name`:: The name of the EXPRESS construct whose mapping changed (string) (required).
76+
77+
`description`:: A description of the mapping change (string) (optional).
78+
79+
80+
.Mapping change file from ISO 10303 SRL altered_package
81+
[example]
82+
====
83+
[source,yaml]
84+
----
85+
---
86+
schema: altered_package
87+
change_edition:
88+
- version: '2'
89+
mappings:
90+
- name: Altered_package.modified_terminal_separation
91+
- description: Altered_package.of_geometric_status mapping has been updated.
92+
- version: '3'
93+
description: |-
94+
Minor editorial changes.
95+
96+
The definitions of the following MIM EXPRESS declarations and interface specifications were modified:
97+
98+
* ENTITY surface_prepped_terminal.
99+
- version: '4'
100+
description: 'Minor editorial change: the HTML link of Layered_assembly_module_design_view
101+
in Surface_prepped_terminal''s description has been fixed.'
102+
----
103+
====
104+

sources/express-changes/sections/aa-example.adoc

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)