NIEM Model Package Description (MPD) Specification

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.

Conformance Targets

The MPD Specification includes the following conformance targets:

Conformance Target Code Description
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.

Artifacts

The MPD Specification describes the following artifacts:

Schema Artifacts

Artifact Description
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).

Required Document Artifacts

Artifact Description
MPD Catalog  
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  

Optional Artifacts

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:

  • Implementation details (hardware, software, configuration, etc.)
  • Use of multiple root elements
  • Use of multiple subsets or mixed releases
  • How to use/reuse an MPD for various purposes (such as Web Services)
  • Rationales and/or business purposes
Artifact Description
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.

Packaging a IEPD

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
    ...