Modeling CCC Types

Name

The name of a type must end with the representation term Type.

Parent

CCC types may only extend other CCC types.

Default parent

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.

Sequence

In reference schemas, a CCC type’s elements must be represented as a sequence, rather than a choice.

Default cardinality

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.

References

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