Modeling Elements

In addition to the general modeling rules and guidance provided for properties, the following applies specifically to elements:

Complex Type

An elements with a type must have a complex type.

All complex types in NIEM eventually derive from structures:ObjectType or a similar type in the NIEM structures namespace. These types contain attributes that enable NIEM elements to reference to other elements, support linked data, define metadata, and provide security markup. As these features are not possible with simple types, an element is required to have a complex type.

Note: An abstract element may be defined without a type.

Nillable

Elements in a reference schema must allow a nil value. This is needed to support NIEM’s referencing mechanism.

References

Rule Applicability Title
NDR 9-36 REF, EXT Element declaration is top-level
NDR 9-37 REF, EXT Element declaration has data definition
NDR 9-38 REF, EXT Untyped element is abstract
NDR 9-39 REF, EXT Element of type xs:anySimpleType is abstract
NDR 9-40 REF, EXT Element type not in the XML Schema namespace
NDR 9-41 REF, EXT Element type not in the XML namespace
NDR 9-42 REF, EXT Element type is not simple type
NDR 9-43 REF No element disallowed substitutions
NDR 9-44 REF No element disallowed derivation
NDR 9-45 REF, EXT No element default value
NDR 9-46 REF, EXT No element fixed value
NDR 9-47 REF Element declaration is nillable
NDR 9-72 REF, EXT No use of xs:unique
NDR 9-73 REF, EXT No use of xs:key
NDR 9-74 REF, EXT No use of xs:keyref
NDR 10-19 REF, EXT Element of code type has code representation term
NDR 10-44 REF, EXT Schema component name composed of English words
NDR 10-45 REF, EXT Schema component names have only specific characters
NDR 10-46 REF, EXT Punctuation in component name is a separator
NDR 10-47 REF, EXT Names use camel case
NDR 10-49 REF, EXT Name of schema component other than attribute and proxy type begins with upper case letter
NDR 10-50 REF, EXT Names use common abbreviations
NDR 10-53 REF, EXT Singular form is preferred in name
NDR 10-54 REF, EXT Present tense is preferred in name
NDR 10-55 REF, EXT Name does not have nonessential words
NDR 10-56 REF, EXT Element or attribute name follows pattern
NDR 10-57 REF, EXT Object-class term identifies concrete category
NDR 10-58 REF, EXT Property term describes characteristic or subpart
NDR 10-59 REF, EXT Name may have multiple qualifier terms
NDR 10-60 REF, EXT Name has minimum necessary number of qualifier terms
NDR 10-61 REF, EXT Order of qualifiers is not significant
NDR 10-62 REF, EXT Redundant term in name is omitted
NDR 10-63 REF, EXT Element with simple content has representation term
NDR 10-64 REF, EXT Element with complex content has representation term when appropriate
NDR 10-65 REF, EXT Element with complex content has representation term only when appropriate
NDR 11-11 REF, EXT Element type does not have a simple type name
NDR 11-12 REF, EXT Element type is from conformant namespace
NDR 11-13 REF, EXT Name of element that ends in Abstract is abstract
NDR 11-14 REF, EXT Name of element declaration with simple content has representation term
NDR 11-15 SET Name of element declaration with simple content has representation term
NDR 11-16 REF, EXT Element substitution group defined by conformant schema