Errors in your XML files are pretty common. Often what looks like a whole load of errors can easily be fixed. Below are the most common errors we encounter in people's files.
Well Formed XML means that machines will be able to read your data. If it is not well formed, they can't and we need to fix it. Some common problems are outlined below:
Usually this is down to a typo somewhere. Each tag or element must be consistent.
<iati-activities></iati-activities> is good <iatiactivities></iati-activities> is bad.
XML files are fussy about the data they contain. This error means that somewhere you have a character in the XML that shouldn't be there. These can be quite hard to track down. Sometimes they can be things copied an pasted from Word documents like curly quotes.
This often refers to an unencoded ampersand (&). These should be declared in your text as &
This is an error specific to 2.01 data. In 2.01 the order in which elements are published is important. Validation stops if something is found in the wrong place. This is reported as a single error, although the same error may occur many times within your file. Once you fix this error, you can try to revalidate.
URLs must be 'encoded' in XML - so ampersands (&) should be written as (&), spaces as %20, and so on.
N.B. The parser we use INCORRECTLY rejects some URLs in this service, so if you get this error a lot, then try another validation method.
Dates in IATI should look like YYYY-MM-DD, e.g. the 22nd August 2012 would be written as: 2012-08-22.
A datetime (as opposed to a date) specifies both a time and a date. A common error is to miss out the 'T' that separates the date from the time.
So in the example above, this would validate: 2011-10-17T14:00:00
Other common errors are not providing the Date as YYYY-MM-DD or the time as HH:MM:SS
You can also specify a timezone and sometimes people don't get that bit quite right.
In some circumstances we require you to supply just a number. People sometimes include commas, currency symbols, percentage signs, or write their number as a decimal. If you want to say twenty percent, just write 20.
This means you've put something in that doesn't need to be there. Simply remove it!
This usually means something has been typed where it shouldn't have been. All content should be inside the IATI element tags. This is usually a sign that something has strayed outside!
Published IATI data can be found on the Registry at http://iatiregistry.org.
The IATI knowledge base and support system can be found at http://support.iatistandard.org.