It is not currently possible to use the schema to validate for mandatory fields. This type of validation (cardinality) can only be enforced if the order in which elements appear is enforced. Enforcing order was specifically ruled out when the standard was drafted as this was felt to place an unnecessary burden on publishers.
We now believe that strengthening the core of the standard by ensuring that we can validate elements and attributes (that are either mandatory in all cases, or are conditionally mandatory depending on usage) far outweighs the extra burden placed on publishers to report elements in a particular order. This also makes it much easier for a publisher to check their own data using simple schema-validation tests.
NB. Because it was not possible to check cardinality in the past the values contained in the schema for minOccurs and maxOccurs were not subject to close scrutiny. These have now been tidied up. As a result there are some changes to these values which do not reflect a change to the standard, but only the alignment of these values with the standard.
The following order is proposed:
-
Container Elements
- iati-activities
- iati-activity
-
Identification
- reporting-org
- participating-org
- iati-identifier
- other-identifier
- title
- description
- activity-status
- activity-date
- contact-info
-
Geography
- activity-scope
- recipient-country
- recipient-region
- location
- location-reach
- location-id
- name
- description
- activity-description
- administrative
- point
- pos
- exactness
- location-class
- feature-designation
-
Classifications
- sector
- country-budget-items
- policy-marker
- collaboration-type
- default-flow-type
- default-finance-type
- default-aid-type
- default-tied-status
-
Financials
- budget
- period-start
- period-end
- value
- planned-disbursement
- period-start
- period-end
- value
- capital-spend
- transaction
- transaction-type
- transaction-date
- value
- description
- provider-org
- receiver-org
- sector
- recipient-country
- recipient-region
- flow-type
- finance-type
- aid-type
- tied-status
- disbursement-channel
-
Related
- document-link
- title
- category
- language
- related-activity
- legacy-data
-
Conditions & Results
- conditions
- condition
- result
- title
- description
- indicator
- title
- description
- baseline
- comment
- period
- target
- comment
- actual
- comment
-
CRS / FSS only
- crs-add
- aidtype-flag
- loan-terms
- loan-status
- fss
- forecast
For technical details about implementing this proposal go to: https://github.com/IATI/IATI-Schemas/issues/138
3 Comments