Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions sources/express-changes/document.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ include::sections/06-mapping-change.adoc[]

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

include::sections/ab-schemas.adoc[]

include::sections/az-bibliography.adoc[]
6 changes: 6 additions & 0 deletions sources/express-changes/examples/arm.changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# yaml-language-server: $schema=https://www.expresslang.org/schemas/changes/v1/schema_changes.yaml
---
schema: Document_and_version_identification_arm
editions:
- version: '2'
- version: '3'
17 changes: 17 additions & 0 deletions sources/express-changes/examples/mapping.changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# yaml-language-server: $schema=https://www.expresslang.org/schemas/changes/v1/mapping_changes.yaml
---
schema: dimension_tolerance
editions:
- version: '6'
mappings:
- description: Geometric_dimension entity and attributes mapping has been updated
- description: Angle_plus_minus_bounds and Length_plus_minus_bounds mappings was
added
- version: '7'
mappings:
- description: Angle_plus_minus_bounds mapping has been updated
- description: Length_plus_minus_bounds mapping has been updated
- description: Applied_activity_assignment ENTITY mapped
- version: '8'
mappings:
- description: Geometric_dimension entity and attributes mapping has been updated
15 changes: 15 additions & 0 deletions sources/express-changes/examples/mim.changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# yaml-language-server: $schema=https://www.expresslang.org/schemas/changes/v1/schema_changes.yaml
---
schema: Document_and_version_identification_mim
editions:
- version: '2'
deletions:
- type: USE_FROM
name: Product_identification_mim
- version: '3'
additions:
- type: USE_FROM
name: product_definition_schema
interfaced_items:
- product_category
- product_related_product_category
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# yaml-language-server: $schema=https://www.expresslang.org/schemas/changes/v1/schema_changes.yaml
---
schema: support_resource_schema
editions:
- version: '2'
description: |-
The definitions of the following EXPRESS entity data types were modified:

* identifier;
* label;
* text.
additions:
- type: FUNCTION
name: type_check_function
modifications:
- type: FUNCTION
name: bag_to_set
- version: '4'
description: |-
The following entity types had been introduced to support external element references outside the local population of entity instances:

* component_path_shape_aspect;
* externally_defined_item_with_multiple_references;
* generic_product_definition_reference;
* product_definition_reference;
* product_definition_reference_with_local_representation.

The following entity types had been introduced to support the the characterization of objects:

* characterized_chain_based_item_within_representation;
* characterized_item_within_representation;
* characterized_product.

The following select types from the basic_attribute_schema had been converted into extensible selects and then extended in several other schemas:

* description_attribute_select;
* id_attribute_select;
* name_attribute_select;
* role_select.
modifications:
- type: FUNCTION
name: type_check_function
24 changes: 13 additions & 11 deletions sources/express-changes/schemas/mapping_changes.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
$schema: http://json-schema.org/draft-07/schema#
title: EXPRESS Mapping Changes
description: Records modifications to EXPRESS schema mappings across editions
description: Records modifications to EXPRESS schema mappings across versions
type: object
required:
- schema
- editions
- versions
additionalProperties: false
properties:
schema:
type: string
description: Name of the EXPRESS schema
editions:
versions:
type: array
description: Array of edition changes
description: Array of version changes
items:
$ref: '#/definitions/edition_change'
$ref: '#/definitions/version_change'
definitions:
edition_change:
version_change:
type: object
description: Changes made to the mapping specification in a specific edition
description: Changes made to the mapping specification in a specific version
required:
- version
additionalProperties: false
properties:
version:
type: string
description: Version number for this change edition
pattern: '^[1-9][0-9]*$'
type: integer
description: Version number for this change version
description:
type: string
description: >-
Multi-line string describing the changes made in this edition.
Multi-line string describing the changes made in this version.
Provides comprehensive overview of what changed and why.
mappings:
type: array
Expand All @@ -38,6 +39,7 @@ definitions:
mapping_change:
type: object
description: Represents a specific element whose mapping has changed
additionalProperties: false
properties:
name:
type: string
Expand Down
25 changes: 14 additions & 11 deletions sources/express-changes/schemas/schema_changes.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
$schema: http://json-schema.org/draft-07/schema#
title: EXPRESS Schema Changes
description: Records modifications to EXPRESS schema structure across editions
description: Records modifications to EXPRESS schema structure across versions
type: object
required:
- schema
- editions
- versions
additionalProperties: false
properties:
schema:
type: string
description: Name of the EXPRESS schema
editions:
versions:
type: array
description: Array of edition changes
description: Array of version changes
items:
$ref: '#/definitions/edition_change'
$ref: '#/definitions/version_change'
definitions:
edition_change:
version_change:
type: object
description: Changes made to the schema in a specific edition
description: Changes made to the schema in a specific version
required:
- version
additionalProperties: false
properties:
version:
type: string
description: Version number for this change edition
pattern: '^[1-9][0-9]*$'
type: integer
description: Version number for this change version
description:
type: string
description: >-
Multi-line string describing the changes made in this edition.
Multi-line string describing the changes made in this version.
Provides comprehensive overview of what changed and why.
additions:
type: array
Expand All @@ -48,6 +49,7 @@ definitions:
item_change:
type: object
description: Represents a specific schema element change
additionalProperties: false
required:
- type
- name
Expand All @@ -64,6 +66,7 @@ definitions:
- CONSTANT
- REFERENCE_FROM
- USE_FROM
- SUBTYPE_CONSTRAINT
name:
type: string
description: Name of the EXPRESS construct
Expand Down
12 changes: 11 additions & 1 deletion sources/express-changes/sections/03-terms.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@

== Terms and definitions

=== change
=== schema change

modification to an EXPRESS schema that alters the structure or semantics of the
schema

=== schema version

specific iteration of an EXPRESS schema, identified by its version number
in the schema identifier as a positive integer

=== mapping change

modification to the mapping of an EXPRESS schema

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

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

There are two kinds of changes:

Expand All @@ -15,11 +15,11 @@ specification.
----
schema: String (required)
# Name of the EXPRESS schema
editions:
versions:
- version: String (required)
# Version number for this change edition
# Version number for this change version
description: String (optional)
# Description of changes in this edition
# Description of changes in this version
{type_of_change}:
- description: String (required)
# Description of the change
Expand All @@ -33,8 +33,8 @@ Fields:
[example]
`support_resource_schema`

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

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

33 changes: 17 additions & 16 deletions sources/express-changes/sections/05-schema-change.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
=== General

The schema change structure is a record of modifications to the structure and
semantics of an EXPRESS schema across different editions.
semantics of an EXPRESS schema across different versions.

It records additions, modifications, and removals of schema elements such as
It records additions, modifications, and deletions of schema elements such as
entities, types, functions, and rules.

The structure is built on the following constructs:

* Edition changes: Changes made to the schema in a specific edition compared to
the previous edition.
* Version changes: Changes made to the schema in a specific version compared to
the previous version.

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

Expand All @@ -23,31 +23,31 @@ Syntax:
----
schema: String (required)
# Name of the EXPRESS schema
editions:
- {edition change 1}
- {edition change 2}
versions:
- {version change 1}
- {version change 2}
----


=== Edition change
=== Version change

Each edition change object details changes between two editions of the schema.
Each version change object details changes between two versions of the schema.

Syntax:

[source,yaml]
----
version: String (required)
# Version number for this change edition
# Version number for this change version
description: String (optional)
# Description of changes in this edition
# Description of changes in this version
additions:
- {item change 1}
- {item change 2}
modifications:
- {item change 1}
- {item change 2}
removals:
deletions:
- {item change 1}
- {item change 2}
----
Expand All @@ -60,14 +60,14 @@ Fields:
`2`, `3`, `6`.

`description`:: (optional) A multi-line string describing the changes made in
this edition. Should provide a comprehensive overview of what changed and why.
this version. Should provide a comprehensive overview of what changed and why.
If not provided, a publication may provide its own boilerplate or summary.

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

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

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



Expand Down Expand Up @@ -103,6 +103,7 @@ are:
`RULE`::: Rule definitions
`PROCEDURE`::: Procedure definitions
`CONSTANT`::: Constant definitions
`SUBTYPE_CONSTRAINT`::: Subtype constraints
`REFERENCE_FROM`::: A reference from another schema, with an additional field
`interfaced_items` listing the specific items referenced when in `additions`.
When used in `deletions`, no `interfaced_items` is needed.
Expand All @@ -123,7 +124,7 @@ description array would have two entries, one for each change.
----
---
schema: Additive_manufacturing_part_and_build_information_arm
editions:
versions:
- version: '2'
modifications:
- type: ENTITY
Expand All @@ -145,7 +146,7 @@ specific items referenced or used. Not needed when in `deletions`.
----
---
schema: Document_and_version_identification_mim
editions:
versions:
- version: '2'
deletions:
- type: USE_FROM
Expand Down
Loading