The NIEM Model Package Description (MPD) Specification specifies normative rules and non-normative guidance for building NIEM information exchange messages.
The MPD Specification is currently out of date. It targets NIEM 3.0, but the information still applies to the NIEM 4.x series of releases. Use the corresponding NDR version 4.0 as appropriate. Development of an updated NIEM message specification is in progress.
The MPD Specification includes the following conformance targets:
|Model Package Description||WF-MPD||A set of cohesive XML schema documents and other supporting files that represent one or more reusable or implementable XML information models.|
|Information Exchange Package Description||IEPD||A special kind of MPD that defines the content, structure, and meaning of an information exchange message.|
|Information Exchange Package||IEP||An information exchange message, as an XML instance document.|
|Schema Document Subset||Schema-subset||A set of schemas, corresponding to a set of full reference schemas, that have been reduced and constrained to include only the files and components needed for an information exchange.|
|MPD catalog document||MPD-catalog||A XML file that contains metadata about the MPD, including descriptive information and an index of the files it contains.|
|XML catalog document||XML-catalog||A XML file that maps namespaces to file locations.|
The MPD Specification describes the following artifacts:
|Reference Schema Document||A NIEM schema that represents the full authoritative schema document for its target namespace.|
|Subset Document Schema|
|Extension Schema Document|
|External Schema Document||A schema included in a MPD that does not conform to NIEM. Content from external schemas must be accessed via NIEM adapters.|
|Constraint-Schema Document Set||A set of schemas that define additional constraints outside of what is permitted in a regular NIEM-conformant schema. Used as second-pass validation for IEPs (IEPs must first validate to the original reference or subset schemas).|
|Change Log||An artifacts that describes the changes applies to an MPD since its previous version.|
|ReadMe||The initial source of human-readable information about the MPD.|
|XML Catalog||An XML catalog is a XML document that assigns locations to files. This can be used to override the file locations assigned by NIEM XML schema import statements without having to modify the original schema itself.|
|Sample instances||A sample instance is an example of the message, with actual or example data. These can be very helpful for implementers of the IEPD.|
|Conformance Report / Assertion|
Aside from the required artifacts, MPD content is relatively flexible. A variety of other optional documentation files may be incorporated into an MPD. When applicable, these may include (but are not limited to) files that describe or explain:
|NIEM Wantlist||A wantlist is an abbreviated XML representation of a NIEM schema document subset, and identifies only the data components a user selected to build a schema document subset. A wantlist file is required to be able to reload a NIEM subset into the SSGT for future editing.|
|Business Rules||Business rules constrain a message. They may be written as descriptive text or in a language that enables validation, such as Schematron.|
The MPD Specification does not contain normative rules on how to structure the folders and place the files in an IEPD, but guidance is provided. A recommended layout is provided below:
See Appendix E. Guidance for IEPD Directories (non-normative) from the MPD Specification for more information and helpful tips on how to organize an IEPD.
myIEPD-2.0/ mpd-catalog.xml changelog.* conformance-assertion.* readme.* base-xsd/ niem/ # NIEM subset schemas adapters/ codes/ domains/ external/ niem-core/ proxy/ utility/ wantlist.xml xml-catalog.xml extension/ extension1.xsd extension2.xsd ... xml-catalog.xml external/ ic-ism/ # Example external standard ... xml-catalog.xml iep-sample/ message1.xml message2.xml documentation/ # Human-readable documentation ...