Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions sources/express-changes/document.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:docnumber: 5005
:edition: 1
:copyright-year: 2025
:revdate: 2025-02-06
:revdate: 2025-10-14
:language: en
:title-main-en: EXPRESS changes model in YAML
:doctype: standard
Expand Down Expand Up @@ -32,6 +32,12 @@ include::sections/02-normrefs.adoc[]

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

include::sections/04-spec.adoc[]
include::sections/04-structure.adoc[]

include::sections/05-schema-change.adoc[]

include::sections/06-mapping-change.adoc[]

include::sections/aa-examples.adoc[]

include::sections/az-bibliography.adoc[]
105 changes: 0 additions & 105 deletions sources/express-changes/sections/04-spec.adoc

This file was deleted.

40 changes: 40 additions & 0 deletions sources/express-changes/sections/04-structure.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
== Structure

An EXPRESS Changes document is a YAML file that records changes made to an
EXPRESS schema across different editions or versions.

There are two kinds of changes:

* Schema changes
* Mapping changes

The top-level structure of an EXPRESS Changes document has the following
specification.

[source,yaml]
----
schema: String (required)
# Name of the EXPRESS schema
editions:
- version: String (required)
# Version number for this change edition
description: String (required)
Comment thread
ronaldtse marked this conversation as resolved.
Outdated
# Description of changes in this edition
{type_of_change}:
- description: String (required)
# Description of the change
# ... additional fields depending on type_of_change
----

Fields:

`schema`:: The name of the EXPRESS schema (string) (required).
+
[example]
`support_resource_schema`

`editions`:: An array of edition change objects (required).

`type_of_change`:: One of `additions`, `modifications`, `removals`, or
`mapping`.

101 changes: 101 additions & 0 deletions sources/express-changes/sections/05-schema-change.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@

== Schema change

=== General

The schema change structure captures modifications to the structure and
Comment thread
ronaldtse marked this conversation as resolved.
Outdated
semantics of an EXPRESS schema across different editions or versions. It
captures additions, modifications, and removals of schema elements such as
entities, types, functions, and rules.

The structure is built on the following constructs:

* Edition changes: Each edition or version of the schema, detailing what
changed.

* Item changes: Specific elements that were added, modified, or removed in an
edition.

Syntax:

[source,yaml]
----
schema: String (required)
# Name of the EXPRESS schema
editions:
- {edition change 1}
- {edition change 2}
----


=== Edition change

Each edition change represents a specific version of the schema and details
the changes made in that version.

Syntax:

[source,yaml]
----
version: String (required)
# Version number for this change edition
description: String (required)
# Description of changes in this edition
additions:
- {item change 1}
- {item change 2}
modifications:
- {item change 1}
- {item change 2}
removals:
- {item change 1}
- {item change 2}
----

Fields:

`version`:: The version number (string) (required).
+
Comment thread
ronaldtse marked this conversation as resolved.
[example]
`2`, `3.1`, `2024-06`.

`description`:: A multi-line string describing the changes made in this edition
(required). Should provide a comprehensive overview of what changed and why.

`additions`:: An array of added elements as item changes (optional).

`modifications`:: An array of modified elements as item changes (optional).

`removals`:: An array of removed elements as item changes (optional).



=== Item change

Each item change represents a specific schema element that was added, modified,
or removed.

Syntax:

[source,yaml]
----
type: String (required)
# Type of the EXPRESS construct (e.g., ENTITY, TYPE, FUNCTION)
name: String (required)
# Name of the EXPRESS construct
----

Fields:

`type`:: The type of the EXPRESS construct (string) (required). Allowed values
are:

Comment thread
ronaldtse marked this conversation as resolved.
`ENTITY`::: Entity definitions
`TYPE`::: Type definitions (including SELECT, ENUMERATION)
`FUNCTION`::: Function definitions
`RULE`::: Rule definitions
`PROCEDURE`::: Procedure definitions
`CONSTANT`::: Constant definitions

`name`:: The name of the EXPRESS construct (string) (required).

104 changes: 104 additions & 0 deletions sources/express-changes/sections/06-mapping-change.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
== Mapping change

=== General


A mapping change records modifications to the mapping of an EXPRESS schema to
another schema or representation.

The structure is built on the following constructs:

* Edition changes: Each edition or version of the schema, detailing what
Comment thread
ronaldtse marked this conversation as resolved.
Outdated
changed.

* Item changes: Specific elements that had mappings changed in an edition.

Syntax:

[source,yaml]
----
schema: String (required)
# Name of the EXPRESS schema
editions:
- {edition change 1}
- {edition change 2}
----

=== Edition change

Each edition change represents a specific version of the schema and details
Comment thread
ronaldtse marked this conversation as resolved.
Outdated
the mapping changes made in that version.

Syntax:

[source,yaml]
----
version: String (required)
# Version number for this change edition
description: String (required)
# Description of changes in this edition
mapping:
- {item change 1}
- {item change 2}
----

Fields:

`version`:: The version number (string) (required).
+
Comment thread
ronaldtse marked this conversation as resolved.
[example]
`2`, `3.1`, `2024-06`.

`description`:: A multi-line string describing the changes made in this edition
(required). Should provide a comprehensive overview of what changed and why.
Comment thread
ronaldtse marked this conversation as resolved.
Outdated

`mappings`:: An array of mapping changes (optional).


=== Mapping change

Each mapping change represents a specific element whose mapping has changed in an
edition.

Syntax:

[source,yaml]
----
name: String (required)
# Name of the EXPRESS construct whose mapping changed
description: String (optional)
# Description of the mapping change
----

Fields:

`name`:: The name of the EXPRESS construct whose mapping changed (string) (required).

`description`:: A description of the mapping change (string) (optional).


.Mapping change file from ISO 10303 SRL altered_package
[example]
====
[source,yaml]
----
---
schema: altered_package
change_edition:
- version: '2'
mappings:
- name: Altered_package.modified_terminal_separation
- description: Altered_package.of_geometric_status mapping has been updated.
- version: '3'
description: |-
Minor editorial changes.

The definitions of the following MIM EXPRESS declarations and interface specifications were modified:

* ENTITY surface_prepped_terminal.
- version: '4'
description: 'Minor editorial change: the HTML link of Layered_assembly_module_design_view
in Surface_prepped_terminal''s description has been fixed.'
----
====

7 changes: 0 additions & 7 deletions sources/express-changes/sections/aa-example.adoc

This file was deleted.

Loading