The name of a type must end with the representation term Type.
CCC types may only extend other CCC types.
For a type that is not metadata, an association, or an augmentation, the default parent type, if none other is provided, should be structures:ObjectType.
In reference schemas, a CCC type’s elements must be represented as a sequence, rather than a choice.
The default usage of properties in a type from a NIEM release should be optional and over-inclusive. In XML, this would be represented as minOccurs="0" and maxOccurs="0".
Individual information exchanges can and often should have very precise cardinality requirements. Because these vary across different use cases, and because cardinality restrictions can be tightened but not loosened in a subset, cardinality should be set as flexibly as possible in the release schemas.
See additional guidance for names and definitions.
| Rule | Applicability | Title |
|---|---|---|
| NDR 9-25 | REF, EXT | Complex type definition is top-level |
| NDR 9-26 | REF, EXT | Complex type has data definition |
| NDR 9-27 | REF, EXT | No mixed content on complex type |
| NDR 9-28 | REF, EXT | No mixed content on complex content |
| NDR 9-29 | REF, EXT | Complex type content is explicitly simple or complex |
| NDR 9-30 | REF | Complex content uses extension |
| NDR 9-31 | REF, EXT | Base type of complex type with complex content must have complex content |
| NDR 9-32 | SET | Base type of complex type with complex content must have complex content |
| NDR 9-34 | REF | No complex type disallowed substitutions |
| NDR 9-35 | REF | No complex type disallowed derivation |
| NDR 9-60 | EXT | Model group does not affect meaning |
| NDR 9-61 | REF, EXT | No xs:all |
| NDR 9-62 | REF | xs:sequence must be child of xs:extension |
| NDR 9-63 | EXT | xs:sequence must be child of xs:extension or xs:restriction |
| NDR 9-64 | REF | No xs:choice |
| NDR 9-65 | EXT | xs:choice must be child of xs:sequence |
| NDR 9-66 | REF, EXT | Sequence has minimum cardinality 1 |
| NDR 9-67 | REF, EXT | Sequence has maximum cardinality 1 |
| NDR 9-68 | EXT | Choice has minimum cardinality 1 |
| NDR 9-69 | EXT | Choice has maximum cardinality 1 |
| NDR 9-70 | REF | No use of xs:any |
| NDR 9-71 | REF | No use of xs:anyAttribute |
| NDR 10-1 | REF, EXT | Complex type has a category |
| NDR 10-2 | REF, EXT | Object type with complex content is derived from structures:ObjectType |
| NDR 10-23 | REF | Augmentable type has augmentation point element |
| NDR 10-24 | REF, EXT | Augmentable type has at most one augmentation point element |
| NDR 11-19 | REF, EXT | Element or attribute declaration introduced only once into a type |
| NDR 11-20 | REF, EXT | Element reference defined by conformant schema |
| NDR 11-21 | REF, EXT | Referenced attribute defined by conformant schemas |
| NDR 11-22 | REF, EXT | Schema uses only known attribute groups |
| NDR 11-44 | REF, EXT | Standard opening phrase for complex type data definition |