A CSC type must extend either a simple type or another CSC type.
A CSC type that extends a simple type must also include a reference to structures:SimpleObjectAttributeGroup. This is an attribute group that contains all of the attributes needed to support the NIEM infrastructure.
A CSC type that is based on a simple type with enumerations (codes) must have a name that ends with CodeType.
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-29 | REF, EXT | Complex type content is explicitly simple or complex |
| NDR 9-30 | REF | Complex content uses extension |
| NDR 9-33 | REF | Simple content uses extension |
| NDR 9-35 | REF | No complex type disallowed derivation |
| NDR 9-71 | REF | No use of xs:anyAttribute |
| NDR 10-20 | REF, EXT | Proxy type has designated structure |
| NDR 11-10 | REF, EXT | Complex type with simple content has structures:SimpleObjectAttributeGroup |
| NDR 11-19 | REF, EXT | Element or attribute declaration introduced only once into a type |
| 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 |