The augmentation point element name must correspond with the type name it appears in, with the "Type"
representation term being replaced by "AugmentationPoint"
.
The name of the augmentation point element for nc:PersonType
is "nc:PersonAugmentationPoint"
.
An augmentation point element has no content of its own and is merely a construct to support additional content from other namespaces. Making this element abstract ensures that it must be omitted or replaced in an instance by another element.
An augmentation point element does not have a type. This ensures that there will not be a type conflict when it is later substituted by one or more augmentation elements.
The augmentation point element must appear as the final sub-element in its type. This makes it easy to find and makes sure the type’s original content appears in instances before the augmentations do.
Augmentation point elements are required in NIEM release schemas, but not for IEPDs.
NIEM releases are required to define augmentation points in order to make it as easy as possible for IEPDs to later add additional content. IEPDs may, but are not required to, provide this same level of support.
Rule | Applicability | Title |
---|---|---|
NDR 10-25 | REF, EXT | Augmentation point element corresponds to its base type |
NDR 10-26 | REF, EXT | An augmentation point element has no type |
NDR 10-27 | REF, EXT | An augmentation point element has no substitution group |
NDR 10-28 | REF, EXT | Augmentation point element is only referenced by its base type |
NDR 10-29 | REF | Augmentation point element use is optional |
NDR 10-30 | REF | Augmentation point element use is unbounded |
NDR 10-31 | REF, EXT | Augmentation point element use must be last element in its base type |
NDR 11-29 | REF, EXT | Standard opening phrase for augmentation point element data definition |