diff --git a/.gitignore b/.gitignore index 46649a2..e2ed054 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,8 @@ reference-docs/___these_are_the_earlier_editions_original_files___.txt /_site /_files /relaton + +# Build artifacts +*.html +*.log.txt +*.err.html diff --git a/sources/sections/04-spec.adoc b/sources/sections/04-spec.adoc index 5d60ab0..5cfde13 100644 --- a/sources/sections/04-spec.adoc +++ b/sources/sections/04-spec.adoc @@ -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 diff --git a/sources/sections/05-validation.adoc b/sources/sections/05-validation.adoc index eabe651..f5130cb 100644 --- a/sources/sections/05-validation.adoc +++ b/sources/sections/05-validation.adoc @@ -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.