This is the reference page for the XML element
A recognised code, from a recognised vocabulary, classifying the purpose of the activity. Sector MUST EITHER be reported here OR at transaction level for ALL transactions
This element may occur any number of times.
transaction/sector must be present.
sector must exist, otherwise all
sector must exist.
count(sector[@vocabulary=98 or @vocabulary=99]) > 0 evaluates to true, then
count(sector[@vocabulary=98 or @vocabulary=99]/narrative) >= count(sector[@vocabulary=98 or @vocabulary=99]) must evaluate to true.
An IATI code for the vocabulary (see codelist) used for sector classifications. If omitted, OECD DAC 5-digit Purpose Codes are assumed.
It is recommended that OECD DAC 5-digit Purpose Codes are used wherever possible. It is also recommended that if a publisher has its own classification system or systems then the vocabularies 99 or 98 (Reporting Organisation’s own vocabularies) should be used in addition to DAC codes.
Publishers using 98 or 99 must also include a narrative in the narrative element.
Note that if multiple sector codes are used in multiple vocabularies, then each vocabulary’s percentages should add up to 100.
Sector can also be reported at the transaction level rather than the activity level. Sector must only be reported at EITHER transaction level OR activity level.
This value must be of type xsd:string.
This value must be on the SectorVocabulary codelist.
The URI where this vocabulary is defined. If the vocabulary is 99 or 98 (reporting organisation), the URI where this internal vocabulary is defined. While this is an optional field it is STRONGLY RECOMMENDED that all publishers use it to ensure that the meaning of their codes are fully understood by data users.
This value must be of type xsd:anyURI.
The code for the sector.
This attribute is required.
This value must be of type xsd:string.
This value must be on the Sector codelist, if the relevant vocabulary is used.
This value must be on the SectorCategory codelist, if the relevant vocabulary is used.
This value must be on the UNSDG-Goals codelist, if the relevant vocabulary is used.
This value must be on the UNSDG-Targets codelist, if the relevant vocabulary is used.
The percentage of total commitments or total activity budget to this item. Content must be a decimal number between 0 and 100 inclusive, with no percentage sign. All reported sectors from the same vocabulary MUST add up to 100.
This value must be of type xsd:decimal.
The sum of values matched at
sector[@vocabulary = '1' or not(@vocabulary)]/@percentagemust be
The value of each of the elements described by
sector/@percentagemust be at least
0.0no more than
sector of an
@vocabulary attribute declares a valid code (2) from the SectorVocabulary codelist.
An example value 111 from this vocabulary is declared with the
<sector vocabulary="2" code="111" />
sector element can be repeated in any
sector are declared, then the
@percentage values should sum to 100% for the specific
<sector vocabulary="2" code="111" percentage="50" />
<sector vocabulary="2" code="112" percentage="50" />
<sector vocabulary="99" vocabulary-uri="http://example.com/vocab.html" code="A1" percentage="100">
<narrative>A description of the sector</narrative>
vocabulary is used to declare which
SectorVocabulary classification list is in use. If this is omitted, then IATI assumes a SectorVocabulary of 1 (OECD DAC CRS Purpose Codes (5 digit)).
If a vocabulary is not on the SectorVocabulary codelist, then the value of 99 or 98 (Reporting Organisation) should be declared.
If a publisher uses a vocabulary of 98 or 99 (i.e. ‘Reporting Organisation’), then the
@vocabulary-uri attribute should also be used, for example:
<sector vocabulary="99" vocabulary-uri="http://example.com/vocab.html" code="A1" />
@vocabulary attribute definition was updated (to remove the % sign).
vocabulary-uri attribute was added.
Freetext is no longer allowed with this element. It should now be declared with the new child
narrative element, but only in particular use-cases.
Where used, the @percentage attribute is now designated as a decimal value and no longer as a positive Integer
Find the source of this documentation on github: