What is the proper content of the appinfo element for new elements created in a NIEM extension?
The xsd:appinfo element is used to provide machine-targeted annotations of schema components. In NIEM, there are some specific defined uses. There are some rules constraining use of xsd:appinfo in the NIEM Naming and Design Rules section 6.4.2, and the specifically defined uses are addressed in section 7.2.2 with additional detail in Appendix C.
For a new element created in a NIEM extension, xsd:appinfo is generally only required for the following:
1. Association types and elements, to indicate the base type or element (appinfo:Base)
2. Augmentation and metadata types, to indicate base type to which the augmentation or metadata may be applied (appinfo:AppliesTo)
3. Reference elements, to specify the type to which the reference element may be applied (appinfo:ReferenceTarget)
While xsd:appinfo is required for NIEM conformance in these cases, xsd:appinfo is ignored by XML schema validation so an otherwise valid XML schema will still validate even if the xsd:appinfo elements are not included.