Here is an experimental tool to transform v1.0x data to v2.03:

https://iati-transformer.herokuapp.com

You can one-off transform legacy data with this. Alternatively, you could run current data through the transformer, copy the generated link, and post that to the registry. Or the datastore could potentially use this to import v1.0x data.

Of course, if the v1.0x data is missing information that is required at v2.03, you’ll see an error, and the requisite fields will need to be populated. But it can still potentially save a bit of work.

Under the hood, this app uses an XSLT file to transform IATI v1.0x activity XML into IATI v2.03 activity XML (this one). Producing an XSLT file like this should probably be part of any major version upgrade.

Comments (3)

Tim Davies
Tim Davies

Good stuff Andy Lulham : and nice to see some XSLT in use

I noticed quite a lot of the schema errors were to do with missing elements (titles and descriptions in the examples I saw), and I guess the strict element ordering validation in 2.x.

Have you considered having a ‘quirks mode’ conversion that populates these missing descriptive elements with ‘Not provided’ or some default text?

Andy Lulham
Andy Lulham

Tim Davies Thanks! (And thanks for trying it out & providing feedback!)

Image removed. TimDavies:

I noticed quite a lot of the schema errors were to do with missing elements (titles and descriptions in the examples I saw), and I guess the strict element ordering validation in 2.x.

Hmm… Could you provide some examples? The output XML shouldn’t have element ordering errors, as the XSLT should account for that… But I agree about missing elements – that’s certainly a consequence of 2.0x being a bit more strict.

Image removed. TimDavies:

Have you considered having a ‘quirks mode’ conversion that populates these missing descriptive elements with ‘Not provided’ or some default text?

There’s a very very tiny bit of auto-population at the moment (the old activity-website element gets reshaped into a document-link, so it’s given the title “Activity website” and a category.) Quirksmode is an interesting idea – I certainly wouldn’t make it default behaviour (as I don’t want the transformer to modify the content of publishers’ data by default – just the shape) but I’d be interested in adding that as a request parameter.


Please log in or sign up to comment.