Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify role of <com:Link> in SDMX-ML 3.0.0 #228

Open
khaeru opened this issue Mar 4, 2025 · 0 comments
Open

Clarify role of <com:Link> in SDMX-ML 3.0.0 #228

khaeru opened this issue Mar 4, 2025 · 0 comments
Labels
needs-info Needs more info from the issuer to proceed sdmx-3 Support for SDMX 3.0 (2021), 3.1 (2025), etc. xml SDMX-ML format

Comments

@khaeru
Copy link
Owner

khaeru commented Mar 4, 2025

In the wild, SDMX-ML 3.0.0 from IMF (see specimen here) contains:

…
<str:Codelist urn="urn:sdmx:org.sdmx.infomodel.codelist.Codelist=IMF:CL_FREQ(1.0.3)" agencyID="IMF" id="CL_FREQ" version="1.0.3" isExternalReference="false" isPartial="false">
  <com:Link url="urn:sdmx:org.sdmx.infomodel.codelist.Codelist=IMF:CL_FREQ(1.0.3)" type="codelist" rel="self"/>
  …

In SDMX 3.0.0:

  • The IM (§3.2.2.2, page 31) specifies the following:
    • IdentifiableArtefact.uri: Universal resource identifier that may or may not be resolvable.
    • IdentifiableArtefact.urn: Universal resource name – this is for use in registries: all registered objects have a urn.
  • The class diagram (§3.2.1, page 29) shows these as having type "url" and "urn" respectively, with cardinality of 1.
  • The SDMX-ML 3.0.0 schemas (here) show:
    <xs:element name="Link" type="LinkType">
      <xs:annotation>
        <xs:documentation>Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the meatadata report can be dynamically inserted in the structure metadata.</xs:documentation>
      </xs:annotation>
    </xs:element>
    …and further that this element has the mandatory url attribute and optional urn attribute.
  • The schemas also show, in many places:
    <xs:element ref="common:Link" minOccurs="0" maxOccurs="unbounded"/>
    
    In other words, there can be arbitrarily many <com:Link> elements within a parent element representing an IdentifiableArtefact

Generally, "URN" and "URL" are both subcategories of "URI".

There are multiple things to clarify here:

  1. Is IdentifiableArtefact.uri supposed to be, per its name, any URI (so possibly a URL or URN) or only (per its type) a URL?
  2. Is a <com:Link url="…" rel="self"> supposed to correspond to IdentifiableArtefact.uri?
  3. Is SDMX-ML that contains multiple <com:Link> (as allowed by the XSD) valid? Which should correspond to IdentifiableArtefact.uri?
  4. Is the IMF usage valid in which a URN, not a URL, appears in the url="…" attribute?

Pending clarification, #227 ignores <com:Link> with a log message.

@khaeru khaeru added xml SDMX-ML format needs-info Needs more info from the issuer to proceed sdmx-3 Support for SDMX 3.0 (2021), 3.1 (2025), etc. labels Mar 4, 2025
khaeru added a commit that referenced this issue Mar 5, 2025
Ignore with log message pending resolution of #228.
khaeru added a commit that referenced this issue Mar 7, 2025
Ignore with log message pending resolution of #228.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-info Needs more info from the issuer to proceed sdmx-3 Support for SDMX 3.0 (2021), 3.1 (2025), etc. xml SDMX-ML format
Projects
None yet
Development

No branches or pull requests

1 participant