The NIEM Code Lists Specification

The NIEM Code Lists Specification is a technical document that provides XML syntax and rules that support the use of code lists in NIEM XML Schemas, IEPDs, and information exchange packages (IEPs). One major topic for developers and users of code lists with NIEM information exchanges is the development, distribution, maintenance, and use of code lists. This specification addresses this need.

The specification includes:

  • Additional machine-readable formats for code lists: in addition to XML Schema simple types supported by previous versions of NIEM, this specification provides for using spreadsheets in CSV format (comma-separated values format), as well as Genericode, an OASIS format defining code lists in XML.
  • Methods of using code lists in XML Schemas or in XML messages; this enables code lists to be identified at run-time (as attributes in a message), or at schema-time, as annotations on components of a schema.
  • Use of the XML Catalog format for resolving code list identifiers to actual code lists within an IEPD.
  • Rules for how to match values in messages to values in code lists. This enables validation of messages against code lists, and the use of multiple columns in messages (e.g. county code & state code, or vehicle make & model).

The NIEM Code Lists Specification is published at:

  1. The NIEM Code Lists Specification, version 1.0 is on
  2. The complete set of files that accompany the NIEM Code Lists Specification are on, and are available as a zip file
  3. All files are published to a GitHub repository. This repository has drafts of the specifcation, releases, and an issue tracker.

Please review the specification and let us know your thoughts. Comments may be emailed to, or may be submitted as tracked issues at the GitHub issue tracker.