Complex Type with a Value Pattern

Variable Replacement Table

Variable Description Usage NDR Reference
{$Name} Name of the type Required NDR Section 10.8 Naming rules
Rule 7-5 How to name a component
NDR Section 10.8 Component naming rules
Rule 11-1 Type name ends in "Type"
Rule 11-2 Complex type name is upper camel case
{$Definition} The data definition of the type. Required NDR Section 11.6.1 How to write component definitions
Rule 11-32 Standard opening phrase for complex types
{$SimpleTypeName} QName of the simple type being extended Required
{$AttributeName} The QName of the attribute being referenced. Note: Attributes are rarely used in NIEM. NDR Section 11.3 Model group components

Value Pattern

<xs:complexType name="{$Name}Type">
    <xs:annotation>
      <xs:documentation>A data type for a(n) {$Definition}</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="{$SimpleTypeName}">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
        <xs:attribute ref="{$AttributeName}" use="optional|required"/>
      </xs:extension>
    </xs:simpleContent>
 </xs:complexType>