Datypic NIEM services

IEPD design and development

We are experienced NIEM IEPD designers and developers as well as experts in XML technologies such as XML Schema, XSLT and XQuery.

Our philosophy is to design robust XML vocabularies and schemas that can stand the test of time. We pay close attention to issues like interoperability, performance, namespace support, typing. We take into account the many factors that influence IEPD design, including usability for editors, robustness, ease of maintenance, ease of versioning and extensibility.

Training

We teach hands-on NIEM training courses that range from 2 to 4 days in length. The courses can be customized to suit your needs, and tailored to your environment. Emphasis is on hands-on exercises and practical examples.

Design review

Close attention to detail and significant XML Schema experience are required to conform to the many rules of the NIEM Naming and Design Rules (NDR) and Model Package Description (MPD) documents. We can provide a detailed review of your IEPD to check for NIEM conformance, as well as offer design recommendations.

Tools

We have customizable tools that will check the conformance and coherence of your NIEM artifacts, including:

NIEM conformance and XML validity

  • Validation of an MPD catalog according to the rules in the MPD document, including validation against the MPD schema.
  • Validation of schemas according to the rules in the NDR document.
  • Validation of schemas according to XML Schema specification.
  • Validation of an XML catalog according to the OASIS XML Catalog specification.
  • Batch validation of samples against the IEPD schemas, optionally taking into account IEP conformance targets in the MPD catalog.
  • Batch validation of samples against a Schematron or RELAX NG schema, optionally taking into account IEP conformance targets in the MPD catalog.

Design suggestions

  • Spell checking of names used in schemas.
  • Identification of potentially incorrect subset schemas, for example unused components in schemas, or abstract elements with no substitutable members.
  • Identification of common copy/paste errors in schemas, including duplicate enumerations, and multiple components with the same description.
  • Conformance to NIEM conventions and best practices, such as putting code list elements in a substitution group, using nc:AmountType for amounts, or avoiding the use of the word "Type" in element names.

Schema documentation generation

  • Generation of human-readable documentation for the schemas in an IEPD, in the format used by Schema Central (without the ads).

Mapping spreadsheet coherence

  • Listing full XPaths in a mapping spreadsheet that are not allowed by the IEPD schema set, to help identify invalid XPaths and/or missing elements from the XSD
  • Listing elements that are allowed by an XSD that are not listed in a mapping spreadsheet, to help identify unnecessary extra items in the XSD and/or missing rows in the mapping spreadsheet
  • Listing full XPaths in a mapping spreadsheet that are not in any of a set of XML sample documents, to help identify areas for improving the coverage of the samples
  • Listing XPaths in an XML sample document that are not in the mapping spreadsheet, to help identify unnecessary and potentially confusing information in the samples, which is especially important because of NIEM reuse
  • Listing duplicate XPaths in a mapping spreadsheet, to help identify duplicates or errors in the mapping spreadsheet
  • Listing XPaths in a mapping spreadsheet that are not syntactically valid XPath, to help identify errors in the mapping spreadsheet

Schematron coherence

  • Listing XPaths that are tested in a Schematron but not allowed by the IEPD schema set, to help identify errors or outdated tests in the Schematron
  • Identifying common Schematron errors