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
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@ reference-docs/___these_are_the_earlier_editions_original_files___.txt
/_site
/_files
/relaton

# Build artifacts
*.html
*.log.txt
*.err.html
16 changes: 8 additions & 8 deletions sources/sections/04-spec.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -328,14 +328,14 @@ REFPATH: {

When validating reference paths, the following rules should be applied:

1. All referenced entities and attributes must exist in the corresponding ARM or MIM schema.
2. The relationships between entities (supertype, subtype, attribute reference) must be consistent with the schema definitions.
3. Constraints must be syntactically correct and use only attributes or functions that are valid for the constrained entity.
4. Select type extensions must be consistent with the schema definitions.
5. Aggregate references (using `[i]` or `[n]`) must be applied only to attributes defined as aggregates in the schema.
6. Alternative mappings (using parentheses) must all be valid according to the schema.
7. Negative constraints must be logically consistent with the rest of the mapping and the schema definitions.
8. The overall structure of the reference path must form a valid path through the schema, connecting the source ARM entity to the target MIM entity or attribute.
1. All referenced entities and attributes shall exist in the corresponding ARM or MIM schema.
2. The relationships between entities (supertype, subtype, attribute reference) shall be consistent with the schema definitions.
3. Constraints shall be syntactically correct and use only attributes or functions that are valid for the constrained entity.
4. Select type extensions shall be consistent with the schema definitions.
5. Aggregate references (using `[i]` or `[n]`) shall be applied only to attributes defined as aggregates in the schema.
6. Alternative mappings (using parentheses) shall all be valid according to the schema.
7. Negative constraints shall be logically consistent with the rest of the mapping and the schema definitions.
8. The overall structure of the reference path shall form a valid path through the schema, connecting the source ARM entity to the target MIM entity or attribute.


==== Alternative mapping declaration
Expand Down
32 changes: 16 additions & 16 deletions sources/sections/05-validation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,31 @@ Validation of EXPRESS-Q files is crucial to ensure the correctness and consisten

=== Entity mapping validation

1. Each ENTITY_MAPPING must correspond to an entity defined in the ARM schema.
2. The AIM_ELEMENT specified must exist in the MIM schema.
3. The SOURCE referenced must be a valid ISO standard or other recognized source.
4. All EXPRESS_REF entries must refer to valid EXPRESS schemas.
5. The REFPATH must form a valid path from the ARM entity to the specified AIM_ELEMENT.
6. If ALT_MAP is specified, all alternative mappings must be valid MIM entities.
1. Each ENTITY_MAPPING shall correspond to an entity defined in the ARM schema.
2. The AIM_ELEMENT specified shall exist in the MIM schema.
3. The SOURCE referenced shall be a valid ISO standard or other recognized source.
4. All EXPRESS_REF entries shall refer to valid EXPRESS schemas.
5. The REFPATH shall form a valid path from the ARM entity to the specified AIM_ELEMENT.
6. If ALT_MAP is specified, all alternative mappings shall be valid MIM entities.

=== Attribute mapping validation

1. Each ATTRIBUTE_MAPPING must correspond to an attribute of the ARM entity being mapped.
2. The ASSERTION_TO value must be a valid type or entity in the MIM schema.
3. If specified, the AIM_ELEMENT must exist in the MIM schema.
4. The REFPATH for an attribute must form a valid path from the ARM attribute to the specified MIM element.
1. Each ATTRIBUTE_MAPPING shall correspond to an attribute of the ARM entity being mapped.
2. The ASSERTION_TO value shall be a valid type or entity in the MIM schema.
3. If specified, the AIM_ELEMENT shall exist in the MIM schema.
4. The REFPATH for an attribute shall form a valid path from the ARM attribute to the specified MIM element.

=== Reference path validation

1. All entities and attributes referenced in the REFPATH must exist in either the ARM or MIM schema, as appropriate.
2. Relationships between entities (e.g., subtype, supertype) must be consistent with the schema definitions.
3. Constraints specified in the REFPATH must use valid attributes or functions for the entities they constrain.
4. SELECT type extensions must be consistent with the schema definitions.
5. Aggregate references (using `[i]` or `[n]`) must only be applied to attributes defined as aggregates in the schema.
1. All entities and attributes referenced in the REFPATH shall exist in either the ARM or MIM schema, as appropriate.
2. Relationships between entities (e.g., subtype, supertype) shall be consistent with the schema definitions.
3. Constraints specified in the REFPATH shall use valid attributes or functions for the entities they constrain.
4. SELECT type extensions shall be consistent with the schema definitions.
5. Aggregate references (using `[i]` or `[n]`) shall only be applied to attributes defined as aggregates in the schema.

=== Overall consistency

1. The complete set of mappings must cover all entities and attributes in the ARM schema.
1. The complete set of mappings shall cover all entities and attributes in the ARM schema.
2. There should be no conflicting mappings (e.g., two different mappings for the same ARM entity or attribute).
3. The overall set of mappings should form a consistent and complete transformation from the ARM to the MIM schema.

Loading