-
Notifications
You must be signed in to change notification settings - Fork 4
Description
When accessing the test server via the query API, the responses contain elements with @href values pointing at Classification Schemes.
Example:
<Genre href="urn:tva:metadata:cs:ContentCS:2011.3.6.8.18"/>
<Genre href="urn:tva:metadata:cs:ContentCS:2011.3.8.7.6"/>
<Genre href="urn:tva:metadata:cs:ContentCS:2011.3.2.14.6"/>
<Genre href="urn:tva:metadata:cs:FormatCS:2011.2.1.4"/>It seems that the 4-digit numbers ("2011" in this example) are part of the name of the Classification Scheme, while the sequence of numbers following (e.g. "3.6.8.18") seems to be intended to designate the termId within the named Classification Scheme. This is ambiguous, and hence seems difficult to parse reliably.
The EBU historically recommends using the fragment separator # (hash, as in http URLs). The relevant EBU recommendation is in clause 3.5 of https://tech.ebu.ch/docs/tech/tech3336.pdf.
Also, more formally, and more recently, RFC 8141 (which defines the urn scheme) specifies the f-component (which preceded by a #) of a URN as:
2.3.3. f-component
The f-component is intended to be interpreted by the client as a
specification for a location within, or region of, the named
resource. It distinguishes the constituent parts of a resource named
by a URN. For a URN that resolves to one or more locators that can
be dereferenced to a representation, or where the URN resolver
directly returns a representation of the resource, the semantics of
an f-component are defined by the media type of the representation.
Using this mechanism from the RFC that defines URNs, the above example would become this:
<Genre href="urn:tva:metadata:cs:ContentCS:2011#3.6.8.18"/>
<Genre href="urn:tva:metadata:cs:ContentCS:2011#3.8.7.6"/>
<Genre href="urn:tva:metadata:cs:ContentCS:2011#3.2.14.6"/>
<Genre href="urn:tva:metadata:cs:FormatCS:2011#2.1.4"/>Caveat: RFC 8141 extends URN syntax to explicitly allow the characters /, ?, and #, which were reserved for future use by RFC 2141 (the original URN specification, which is obsoleted by RFC 8141 since April 2017). Depending on which of the two RFCs is being referenced in our DVB spec, it may seem more, or less appropriate to use the "modern" way with #f-component. Or there may be an incentive to update the normative reference in the DVB spec to be to RFC 8141... 😉