Skip to main content
IATI - International Aid Transparency Initiative
  • Lang:
  • EN
  • FR
  • News
  • Events
  • Contact
  • About

    About IATI

    Our work involves making data on development and humanitarian spending and projects easier to access, use and understand. Organisations publish information according to the rules and guidance set out in the IATI Standard and this data is freely available and open to anyone in the world.

    Read more

    Introduction to IATI

    Read basic information about our initiative.

    • How IATI works
    • Who is IATI for?
    • Why use IATI?
    • About the Standard
    • The IATI story so far

    Case studies

    See how IATI data is used to improve decisions and accountability.

    • Madagascar case study
    • Oxfam Novib case study
    • AfDB's IATI portal improves development investments
  • IATI Standard

    IATI Standard

    The IATI Standard is a set of rules and guidance on how to publish useful development and humanitarian data. Find out the full range of data included in the IATI Standard and more about its technical format.

    Read more

    Using the reference site

    IATI Reference is an ‘instruction manual’ giving details of all the ‘parts’ you’ll need to build your datafiles.

    • How to use IATI Reference

    Standard documentation

    Find details of all the elements and attributes that can be included in IATI data.

    • Activity Standard
    • Organisation Standard
    • Codelists

    Developer documentation

    Explore how IATI data and the schema can be imported and used in different platforms.

    • IATI Developer Documentation
    • IATI Datastore
  • Using Data

    Using IATI data

    IATI data can be an invaluable resource for anyone searching for information on development or humanitarian spending and projects.

    Read more
    • Tools and resources
    • Types of data available
    • How do I use IATI data?
    • How to get help with using IATI data
    • IATI data use research
  • Tools & Resources

    Tools and resources

    Use IATI tools and resources to enable you to publish, improve and use IATI data.

    Read more

    d-portal

    Search key data on development and humanitarian activities presented in charts, graphs and maps. Recommended for users who are new to IATI.

    Visit d-portal

    IATI Datastore

    Use Datastore Search to download a wide range of IATI data in CSV, JSON and XML formats. Use IATI’s API to build complex searches.

    Visit Datastore

    IATI Validator

    Check if your data files align with the rules and guidance of the IATI Standard. Run checks on data files published by all other organisations.

    Visit Validator

    Additional IATI tools

    • IATI Registry
    • Country Development Finance Data
    • IATI Dashboard
    • API Gateway
    • Third-party tools and services for data use
  • Guidance & Support

    Guidance and support

    Find out how to publish data to the IATI Standard and improve your data by using our publishing guidance.

    Read more

    Standard overview

    Understand what data you can publish to IATI.

    • Key qualities of IATI data
    • What data should I publish?
    • Donors' reporting requirements

    Publishing guidance

    Understand how to create, check and publish your IATI files.

    • Publishing checklist
    • How to create your IATI organisation identifier
    • Data quality and visualisation

    Standard guidance

    Find guides on to how interpret specific areas of the IATI Standard.

    • COVID-19 related data
    • Sustainable Development Goals (SDGs)

    Get support

    Contact the IATI Helpdesk with questions about using and publishing IATI data, and other technical enquiries.

  • Get Involved

    Get Involved

    Find out how to join IATI as a member, engage with IATI’s community and access useful resources about the initiative.

    Read more

    IATI Community

    Engage in IATI's Communities of Practice.

    IATI Connect

    Membership

    Discover the benefits of joining IATI as a member.

    Join IATI

    Present IATI

    Access custom presentation materials on IATI.

    Learn more
    • IATI Videos
    • IATI Membership Pack
    • Working Groups
    • External resources
  • Governance

    Governance

    IATI is governed and funded by our members and run by the Governing Board and Secretariat.

    Read more

    Who runs IATI?

    Meet the Governing Board and Secretariat and understand their roles and responsibilities.

    Governing Board and Secretariat

    Membership

    Discover the benefits of joining IATI as a member.

    List of members
    • IATI future hosting arrangements post 2022
    • IATI Strategic Plan 2020-2025
    • Finances
    • IATI workplan
    • Annual reports
    • Governance documents
    • Members’ Assembly
  • News
  • Events
  • Contact
  • Lang:
  • EN
  • FR

Reference

  • IATI Developer Documentation
  • (GitHub) Contributor Covenant Code of Conduct
  • Code of practice
  • Codelist API
  • Design principles
  • Developer Community
  • Developer contributions
  • Guidance
  • IATI Normative and Non-normative content
  • IATI Software Deprecation Process
  • IATI Software Versioning Protocol
  • IATI Standard (Single Source of Truth)
  • IATI code examples
  • Non-functional Requirements
  • Notes about IATI Python Code
  • Open source tools: IATI GitHub
  • Security considerations
  • Useful XQuery queries
  • Guidance and support
  • IATI Developer Documentation
  • Useful XQuery queries

Useful XQuery queries

XQuery is a query language for querying XML files. This page provides some useful example queries for working with IATI data. A good graphical interface for running these queries is BaseX.

Many of the queries below are also valid XPath, since XPath is a subset of XQuery.

Activities missing information

Which activities are missing the Implementing Org?

//iati-activity[not(participating-org/@role='Implementing')]

Which activities are missing Commitments?

//iati-activity[not(transaction/transaction-type/@code='C')]

Counting distinct activities

Count number of activities

count(//iati-activity)

Count distinct IATI Identifiers

count(distinct-values(//iati-activity/iati-identifier))

Percentage of activities with unique activity identifiers

count(distinct-values(//iati-activity/iati-identifier))divcount(//iati-activity/iati-identifier)*100

Count distinct IATI Identifiers for a given reporting organisation

count(distinct-values(//iati-activity[reporting-org/@ref='SE-6']/iati-identifier))

Finding distinct IATI identifiers

Find duplicate IATI identifiers in a group of iati-activities

//iati-activities/iati-activity[iati-identifier=preceding-sibling::iati-activity/iati-identifier]/iati-identifier

Return the XML of activities found to be duplicate by identifier (only the duplicates, not the originals)

//iati-activities/iati-activity[iati-identifier=preceding-sibling::iati-activity/iati-identifier]

Dates

Smallest start date

min(for $din//activity-date[@type="start-planned"or@type="start-actual"]/@iso-datewhere($d!='')returnxs:date($d))

Budgets

Find budgets that have start dates after a certain date (replace yyyymmdd with year, month, and day. e.g. 1st Sept. 2013 would be 20130901])

//budget[number(translate(period-start/@iso-date,'-',''))>yyyymmdd]

Find the activities that have a budget with a start date after a certain date (append /.. )

//budget[number(translate(period-start/@iso-date,'-',''))>yyyymmdd]/..

Find the iati-identifiers of budgets that have start dates after a certain date

//budget[number(translate(period-start/@iso-date,'-',''))>yyyymmdd]/..//iati-identifier

Useful links

  • Contact
  • Privacy policy
  • Translation FAQs
  • Data removal

Newsletter

Copyright IATI 2023. All rights reserved

  • Twitter
  • YouTube