I think the schema is mistaken here. If you write, say, a codelist in SDMX-JSON and you want to be explicit about the language names are written in, you would have to duplicate all names, once in the name property and then again in the names.language sub-property.
In comparison, in SDMX-ML it is sufficient to specify the name only once with the appropriate xml:lang attribute (aside: if I read the schema correctly, it defaults to "en" on Name elements, given xml:lang inheritance rules that seems problematic).
According to the prose specification https://github.com/sdmx-twg/sdmx-json/blob/71fe5eaa9fcd29e3c15f2f0216a19b9b650b1dbd/structure-message/docs/1-sdmx-json-field-guide.md#common-sdmx-artefact-properties / https://github.com/sdmx-twg/sdmx-json/blob/71fe5eaa9fcd29e3c15f2f0216a19b9b650b1dbd/structure-message/docs/1-sdmx-json-field-guide.md#item the
name
property is optional, but the schema requires it, even when there is anames
entry.I think the schema is mistaken here. If you write, say, a codelist in SDMX-JSON and you want to be explicit about the language names are written in, you would have to duplicate all names, once in the
name
property and then again in thenames
.language
sub-property.In comparison, in SDMX-ML it is sufficient to specify the name only once with the appropriate
xml:lang
attribute (aside: if I read the schema correctly, it defaults to "en" on Name elements, given xml:lang inheritance rules that seems problematic).