As of the 1st of February 2015 this wiki has been deprecated.
This archive is now a read only site.
There is also a copy of the history that has been converted into a git repository at: https://github.com/IATI/IATI-Wiki-Archive.
Please do not rely on any of the information found here.

Validation tool

We need tools to check the quality of IATI data.

Detailed Description

There are a number of different layers of data quality:

  • (1) XML validation - is the data valid XML (http://validator.w3.org/)
  • (2) Schema validation - does the data validate against the IATI Schema
  • (3) Codelist validation - are code list values and other extensible areas of the standard used correctly
  • (4) Validation against implementation schedule - does a file meet the commitments a donor has set out in their implementation schedules.
  • (5) Fit-for-purpose validation - is a data file fit for a particular use (for example, geocoding etc.)

Possible approaches

(1) can be met using the W3C validator tool (http://validator.w3.org/)

(2) can be met using existing Schema Validation tools

For (3) it is possible to keep codelists within a schema (see 1) but this would require updates the schema file whenever costlists change, which would potentially raise issues. The alternative would be to have a set of scripts that can fetch the latest codelists from the code list API and provide options to the user on what validation to perform.

  • It is important to have flexibility in this as well, because the standard can allow third-parties to provide their own code lists.

For (4) and (5) we need to be able to validate files against custom sets of rules. This seems best provided by a set of custom scripts.

Existing tools & resources

What other tools for validation already exist?

Development approaches

We could look to build the majority of this tool using an XML tool chain, including XQuery.

Tools like Zorba would allow use to run this from within PHP or python.

Documentation


QR Code
QR Code Validation tool (generated for current page)