Modeling Adapters

Adapter flag

An adapter type must have attribute appinfo:externalAdapterTypeIndicator with a value of true in its schema declaration.

Parent type

An adapter type must extend structures:ObjectType.

External content

The sub-properties from an adapter type must be from external namespaces.

An adapter type simply wraps external content; it should not be used to build larger objects. Other NIEM types may be created that combine regular content with elements that have adapter types.

Extra documentation

NIEM requires that all namespaces and components be documented. Because external standards might not have this documentation, or might not have this documentation in a consistent manner as NIEM, NIEM requires all usages of external namespaces and components to be documented.

No extensions

Adapter types may not be extended by other types. Each adapter type is meant to represent a single concept from an external namespace and stand alone.

No external ID attributes

NIEM defines structures:id to enable references between components. For consistency, the use of external attributes with an ID type is not allowed so as not to bypass this standard mechanism.

IEPD exceptions

External attributes

In an extension namespace, a non-adapter type is allowed to directly contain a reference to an external attribute as long as a definition is also provided with the reference.

References

Rule Applicability Title
NDR 10-8 REF, EXT External adapter type has indicator
NDR 10-9 REF, EXT Structure of external adapter type definition follows pattern
NDR 10-10 REF, EXT Element use from external adapter type defined by external schema documents
NDR 10-11 REF, EXT External adapter type not a base type
NDR 10-12 SET External adapter type not a base type
NDR 10-13 REF External attribute use only in external adapter type
NDR 10-14 REF, EXT External attribute use has data definition
NDR 10-15 SET External attribute use not an ID
NDR 10-16 REF, EXT External element use has data definition
NDR 10-70 REF, EXT External adapter type indicator annotates complex type
NDR 10-71 REF, EXT appinfo:appliesToTypes annotates metadata element
NDR 10-72 SET appinfo:appliesToTypes references types
NDR 10-73 REF, EXT appinfo:appliesToElements annotates metadata element
NDR 10-74 SET appinfo:appliesToElements references elements