You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add EXPRESS links and YAML serialization to ELF 5006 spec
EBNF grammar:
- Add express_link production for <<express:schema.element,display>> syntax
- Remove source_decl from entity_mapping and attribute_mapping
- Update entity_mapping to accept express_link for entity name
- Update aim_element_decl and ASSERTION_TO to accept express_link
Specification (04-spec.adoc):
- Add new EXPRESS link section documenting the cross-reference syntax
- Remove source declaration section (redundant with EXPRESS links)
- Update entity mapping, AIM element, and attribute mapping sections
- Update all examples to use EXPRESS links
Validation rules (05-validation.adoc):
- Add EXPRESS link validation rules
- Remove source validation rule
- Update entity and attribute mapping validation for EXPRESS links
Examples and use cases:
- Replace Product example with Activity module (real-world EXPRESS links)
- Update all examples to use EXPRESS links, remove SOURCE declarations
New annex (ab-yaml-serialization.adoc):
- Define YAML serialization format for mapping.yaml files
- Document entity mapping, attribute mapping, and reference path fields
- Specify EXPRESS link format in YAML values
- Correspondence table between EBNF constructs and YAML keys
- Complete Activity module example in YAML format
Closes#9
An entity mapping defines how an ARM entity corresponds to one or more MIM entities or constructs. It encapsulates all the information needed to map a single ARM entity to its MIM counterpart(s).
51
81
82
+
The entity name shall be an EXPRESS link identifying the ARM entity and its
83
+
schema, or a plain entity name for backward compatibility.
84
+
52
85
Usage::
53
-
* Begin with "ENTITY_MAPPING" followed by the ARM entity name.
54
-
* Include optional declarations for extensibility, AIM element, source, EXPRESS references, reference path, and alternative mappings.
86
+
* Begin with "ENTITY_MAPPING" followed by the ARM entity reference (EXPRESS link or plain name).
87
+
* Include optional declarations for extensibility, AIM element, EXPRESS references, reference path, and alternative mappings.
55
88
* Include attribute mappings for the entity's attributes.
The source declaration indicates the source (typically an ISO standard) of the MIM element, which is crucial for traceability and maintaining consistency with relevant standards.
125
-
126
-
Usage::
127
-
* Specify the source as a string, typically an ISO standard number.
Copy file name to clipboardExpand all lines: sources/sections/05-validation.adoc
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,26 @@
4
4
5
5
Validation of EXPRESS-Q files is crucial to ensure the correctness and consistency of mappings between ARM and MIM schemas. The following rules should be applied when validating EXPRESS-Q files.
6
6
7
+
=== EXPRESS link validation
8
+
9
+
1. Each EXPRESS link shall conform to the syntax `<<express:schema_name.element_name,display_name>>`.
10
+
2. The `schema_name` shall identify a valid EXPRESS schema accessible to the mapping.
11
+
3. The `element_name` shall identify an entity, type, or attribute defined in or imported into the referenced schema.
12
+
4. The `display_name` shall match the `element_name`.
13
+
7
14
=== Entity mapping validation
8
15
9
-
1. Each ENTITY_MAPPING shall correspond to an entity defined in the ARM schema.
10
-
2. The AIM_ELEMENT specified shall exist in the MIM schema.
11
-
3. The SOURCE referenced shall be a valid ISO standard or other recognized source.
12
-
4. All EXPRESS_REF entries shall refer to valid EXPRESS schemas.
13
-
5. The REFPATH shall form a valid path from the ARM entity to the specified AIM_ELEMENT.
14
-
6. If ALT_MAP is specified, all alternative mappings shall be valid MIM entities.
16
+
1. Each ENTITY_MAPPING shall correspond to an entity or type defined in the ARM schema. When the entity name is an EXPRESS link, the referenced entity shall exist in the referenced ARM schema.
17
+
2. The AIM_ELEMENT specified shall exist in the MIM schema or be a recognized keyword (`PATH`, `IDENTICAL MAPPING`, `NO MAPPING EXTENSION PROVIDED`, `/SUPERTYPE(...)/ `, `/SUBTYPE(...)/`). When the AIM element is an EXPRESS link, the referenced entity shall exist in the referenced MIM or resource schema.
18
+
3. All EXPRESS_REF entries shall refer to valid EXPRESS schemas.
19
+
4. The REFPATH shall form a valid path from the ARM entity to the specified AIM_ELEMENT.
20
+
5. If ALT_MAP is specified, all alternative mappings shall be valid MIM entities.
15
21
16
22
=== Attribute mapping validation
17
23
18
24
1. Each ATTRIBUTE_MAPPING shall correspond to an attribute of the ARM entity being mapped.
19
-
2. The ASSERTION_TO value shall be a valid type or entity in the MIM schema.
20
-
3. If specified, the AIM_ELEMENT shall exist in the MIM schema.
25
+
2. The ASSERTION_TO value shall be a valid type or entity in the ARM or MIM schema, as appropriate. When the value is an EXPRESS link, the referenced entity shall exist in the referenced schema.
26
+
3. If specified, the AIM_ELEMENT shall exist in the MIM schema or be a recognized keyword or dotted attribute path.
21
27
4. The REFPATH for an attribute shall form a valid path from the ARM attribute to the specified MIM element.
0 commit comments