Now that the IATI Standard is stable, please consider the option of including the most of the codelists in the Schema. In my opinion, all of them should be.
So, it would be possible to identify erroneous codes when the XML file were validated against the Schema and before uploading in the IATI Registry.
There are several technical solutions in the Schema definition languages to solve it. From the basic option of using the "enumeration" constraints inside the Schema File to the complex "Context/Value Associations".
I think that, at least the first one, would increase considerably the data quality.
This suggestion has merit, but we think we need to do more work on which codelists, and how we are handling codelists in general. Therefore this suggestion is deferred from the 1.03 upgrade pending further investigation.
Our current direction on codelists is not to include them in the schema.
The Single Source of Truth project: https://github.com/IATI/IATI-Standard-SSOT does contain resources useful for developers to carry out the checks you suggest, such as a mapping file to and from codelists and elements.
This proposal has been archived as it there has been a decision to not take this forward based on technical advice.