From @aboddie in https://github.com/sdmx-twg/twg/issues/62:
Use case
Allow one or more centrally managed MSD to be used in combination with a dataset specific MSD.
At the IMF we have a centrally managed MSD which we use for required metadata to publish a dataset. Some datasets also have their own metadata attributes they want to include. This focuses them to create a single MSD merging the centrally managed MSD with their own. This means they cannot use wildcard r3eferences to the centrally managed MSD and so can miss out of updates.
Backwards compatible design
- Modify Metadata element in DatastructureType to have maxOccurs="unbounded"
- Modify MetadataAttribute Usage Type to allow for a choice in how MetadataAttributeReferences are defined
<xs:extension base="MetadataAttributeUsageBaseType">
<xs:choice>
<xs:sequence>
<xs:element name="MetadataAttributeReference" type="common:NCNameIDType">
<xs:annotation>
<xs:documentation>MetadataAttributeReference is a local reference to a metadata attribute defined in the metadata structure referenced by this data structure. This can only be used when a single Metadata element is attached to the DataStructure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AttributeRelationship" type="AttributeRelationshipType">
<xs:annotation>
<xs:documentation>AttributeRelationship defines the relationship between the referenced metadata attribute and the components of the data structure.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="MetadataAttributeURNReference" type="common:MetadataAttributeUrnType">
<xs:annotation>
<xs:documentation>MetadataAttributeURNReference is a reference to a metadata attribute defined in a metadata structure referenced by this data structure. This must be used when more than one Metadata elemenet is attached to the DataStructure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AttributeRelationship" type="AttributeRelationshipType">
<xs:annotation>
<xs:documentation>AttributeRelationship defines the relationship between the referenced metadata attribute and the components of the data structure.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:extension>
Existing Datastructures will continue to be valid as MetadataAttributeReference is unchanged but new data structures can use MetadataAttributeURNReference.
Backwards incompatible design
- Modify Metadata element in DatastructureType to have maxOccurs="unbounded"
- Modify MetadataAttribute Usage Type to set MetadataAttributeReference's type as MetadataAttributeUrnType
<xs:extension base="MetadataAttributeUsageBaseType">
<xs:sequence>
<xs:element name="MetadataAttributeReference" type="common:MetadataAttributeUrnType">
<xs:annotation>
<xs:documentation>MetadataAttributeReference is a reference to a metadata attribute defined in a metadata structure referenced by this data structure. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AttributeRelationship" type="AttributeRelationshipType">
<xs:annotation>
<xs:documentation>AttributeRelationship defines the relationship between the referenced metadata attribute and the components of the data structure.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
Alternative backwards incompatible design
- Drop Metadata element in DatastructureType
- Modify MetadataAttribute Usage Type to set MetadataAttributeReference's type as MetadataAttributeUrnType as above
With full references to a MetadataAttributes' URN the Metadata element doesn't really serve a purpose.
TWG 06/2025: Whilst this requires some thought into how to handle duplicate Concepts, it was agreed that this issue should be worked on for SDMX 3.2.
From @aboddie in https://github.com/sdmx-twg/twg/issues/62:
Use case
Allow one or more centrally managed MSD to be used in combination with a dataset specific MSD.
At the IMF we have a centrally managed MSD which we use for required metadata to publish a dataset. Some datasets also have their own metadata attributes they want to include. This focuses them to create a single MSD merging the centrally managed MSD with their own. This means they cannot use wildcard r3eferences to the centrally managed MSD and so can miss out of updates.
Backwards compatible design
Existing Datastructures will continue to be valid as MetadataAttributeReference is unchanged but new data structures can use MetadataAttributeURNReference.
Backwards incompatible design
Alternative backwards incompatible design
With full references to a MetadataAttributes' URN the Metadata element doesn't really serve a purpose.
TWG 06/2025: Whilst this requires some thought into how to handle duplicate Concepts, it was agreed that this issue should be worked on for SDMX 3.2.