Combined with the codelist, this essentially allows the value of countryCode to either be a string which is a country code OR null. In JSON Schema, this has specific semantics where the value is not absent but is indeed null.
This is the only place we see this in the schema, similar fields such as currency just permit the string value. This leads me to think that this was either:
a mistake and thus should be rectified.
a deliberate design feature to allow declaring a countryCode of null to represent something specific e.g. unrecognised territory.
We should try to determine whether this was as deliberate design feature or an error in the schema. If it is the latter, fixing it would technically constitute a breaking change and thus qualify as a MAJOR upgrade so can be considered for version 2.0.
This is otherwise a straightforward amendment to the schema and would not be intensive.
Stemming from #378
countryCode
currently has the following schema:Combined with the codelist, this essentially allows the value of countryCode to either be a string which is a country code OR
null
. In JSON Schema, this has specific semantics where the value is not absent but is indeednull
.This is the only place we see this in the schema, similar fields such as
currency
just permit the string value. This leads me to think that this was either:null
to represent something specific e.g. unrecognised territory.We should try to determine whether this was as deliberate design feature or an error in the schema. If it is the latter, fixing it would technically constitute a breaking change and thus qualify as a MAJOR upgrade so can be considered for version 2.0.
This is otherwise a straightforward amendment to the schema and would not be intensive.