In addition to the general modeling rules and guidance provided for properties, the following applies specifically to elements:
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.
Elements in a reference schema must allow a nil value. This is needed to support NIEM’s referencing mechanism.
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 |