Communication of identifiers in DDEX messages

Below please find a summary of the rules of handling identifiers in DDEX.

Formatting identifiers

Different identifiers have different formats. The correct use of these identifiers is listed below. In many cases identifiers are often printed with dashes between parts of the identifier, These dashes are typically not part of the identifier. Instead they are used to aid human readability and should not be included in a DDEX message.

Standard identifiers

 DPID - DDEX Party ID

A DPid consists of 18 characters, made up as follows:

  • Identifier Scheme element (2 characters)

  • ID Type element (5 characters)

  • Party Number element (10 characters)

  • Check Character element (1 character)

When a DPid is written, printed or otherwise visually presented, the four elements of the DPid shall be separated from each other by a hyphen. The hyphens do not form part of the DPid. It is recommended that when a DPid is visually presented, the font used should clearly distinguish between the number 1 and 0, and the letters I and O.

For instance, the DPID PA-DPIDA-3897722461-G is represented in XML as follows:

<PartyId>PADPIDA3897722461G</PartyID>
 EAN - International Article Number

An EAN-13 bar code is a bar coding standard comprising 13 digits.

The EAN 5901234123457 is represented in XML as follows

<ICPN IsEan="true">5901234123457</ICPN>

Bar code identifiers are of a fixed-length and can be seen as being strings, not numbers. Consequently leading zeroes need to be communicated in bar codes.

 GRID - Global Release Identifier

A GRid consists of 18 characters,  as follows:

  • Identifier Scheme element (2 characters)

  • Issuer Code element (5 characters)

  • Release Number element (10 characters)

  • Check Character element (1 character)

When a GRid is written, printed or otherwise visually presented, the four elements of the GRid shall be separated from each other by a hyphen. The hyphens do not form part of the GRid. It is recommended that when a GRid is visually presented, the font used should clearly distinguish between the number 1 and 0, and the letters I and O.

For instance, the GRID A1-2425G-ABC1234002-M is represented in XML as follows:

<GRID>A12425GABC1234002M</GRID>
 ISAN - International Standard Audiovisual Number

ISAN is a 96-bit number is comprised of three segments: a root, an episode or part, and a version. When the 96-bit ISAN is represented in hexadecimal form it has 24 digits (made up of the numbers 0-9 and the letters A-F). A printed ISAN designed for human reading always begins with the ISAN label, appears with hyphens to separate the number into more manageable groups of digits, and adds two check characters (made up of the letters A-Z) to help identify transcription errors. The resulting number appears as follows: ISAN 0000-0000-D07A-0090-Q-0000-0000-X

It is represented in XML as follows:

<ISAN>00000000D07A009000000000</ISAN>

According to the ISAN website, the check character (in the above example "X") is not included in computer-to-computer communication.

 ISBN - International Standard Book Number

An ISBN is a 13 digit bar code with a special "country code" (often referred to a "Music Land"). See EAN for details.

Bar code identifiers are of a fixed-length and can be seen as being strings, not numbers. Consequently leading zeroes need to be communicated in bar codes.

 ISMN - International Standard Music Number

An ISMN is a 13 digit bar code with a special "country code". See EAN for details.

Bar code identifiers are of a fixed-length and can be seen as being strings, not numbers. Consequently leading zeroes need to be communicated in bar codes.

 ISNI - International Standard Name Identifier

An ISNI consists of 16 numerical digits and is represented for human consumption as "ISNI 1422 4586 3573 0473". The spaces aid human readability and are omitted in computer-to-computer communication:

<PartyId IsISNI="true">1422458635730473</PartyID>
 ISRC - International Standard Recording Code

ISRC codes are always 12 characters long, in the form "CC-XXX-YY-NNNNN". The hyphens are not part of the ISRC code itself, but codes are often presented that way in print to make them easier to read. The ISRC US-PR3-73-00012 is represented in DDEX XML as

<ISRC>USPR37300012</ISRC>
 ISSN - International Standard Serial Number

The format of the ISSN is an eight digit number, divided by a hyphen into two four-digit numbers. The ISSN 1534-0481 is represented in XML as

<ISSN>1534-0481</ISSN>

The dash forms an integrate part of an ISSN and thus needs to be included in computer-to-computer communication.

 ISTC - International Standard Text Code

An ISTC consists of 16 hexadecimal digits, being the Arabic numerals 0 to 9 and Latin letters A to F. It is made up from 4 elements:

  • Registration element

  • Year element

  • Textual work element

  • Check Digit

The elements are, in print, typically seperated by spaces. The ISTC  03A 2009 000C299F D is coded in XML as

<ISTC>03A2009000C299FD</ISTC>
 ISWC - International Standard musical Work Code

The International Standard Musical Work Code (ISWC) for a musical work is usually stored in a database on a computer system. It is divided into three elements, consisting of the letter T (the "prefix element"), followed by nine digits (the "work identifier"), and a numeric check digit. When an ISWC is written or printed the letters ISWC shall precede it. For ease of reading only, hyphens and dots may be used as separators. So, ISWC T-034.524.680-1 is communicated in XML as

<ISWC>T0345246801</ISWC>
 MWLI - Musical Works Licence Identifier

A MWLI consists of 18 characters,  as follows:

  • Identifier Scheme element (2 characters)

  • Issuer Code element (5 characters)

  • Release Number element (10 characters)

  • Check Character element (1 character)

When a MWLI is written, printed or otherwise visually presented, the four elements of the MWLI shall be separated from each other by a hyphen. The hyphens do not form part of the MWLI. It is recommended that when a MWLI is visually presented, the font used should clearly distinguish between the number 1 and 0, and the letters I and O. It thus follows the rules of a Communication of Identifiers in DDEX Messages#DPID.

 SICI - Serial Item and Contribution Identifier

 The SICI code is an identifier with a complex syntax. As the length of elements can vary, element separators need to be printed as well as communicated electronically. Below is the XML for SICI 0095-4403(199502/03)21:3<12:WATIIB>2.0.TX;2-J

<SICI>0095-4403(199502/03)21:3&lt;12:WATIIB&lt;2.0.TX;2-J</SICI>

SICIs contain pointy brackets ("<" and ">"). These need to be coded as "&lt;" and "&gt;" in XML.

 UPC - Universal Product Code

A UPC bar code is a 12 digit bar coding.

The UPC 5901234123457 is represented in XML as follows

<ICPN IsEan="false">591234123457</ICPN>

Bar code identifiers are of a fixed-length and can be seen as being strings, not numbers. Consequently leading zeroes need to be communicated in bar codes:

<ICPN IsEan="false">000000123457</ICPN>

Proprietary identifiers

An efficient supply chain relies on identifiers. Ideally they are industry identifiers. However, while industry identifiers such as ISRC, ISWC, UPC etc are becoming more and more common, there are still plenty of proprietary identifiers in use today.

The use of proprietary identifier is discouraged for all messages (with one crucial exception, for sales reports where all available identifiers should be communicated to aid matching algorithms) if an industry identifier has been allocated. Thus the following snippet from a Release delivery message should not be used:

<!-- Discouraged use -->
<SoundRecordingId>
  <ISRC>12UK12345677</ISRC>
  <ProprietaryID Namespace="PADPIDA3897722461G">12344</ProprietaryID>
  <ProprietaryID Namespace="PADPIDA3897722461G">098765</ProprietaryID>
</SoundRecordingID>

Instead just the ISRC should be provided:

<!-- Recommended use -->
<SoundRecordingId>
  <ISRC>12UK12345677</ISRC>
</SoundRecordingID>

Of course, should no industry identifier be available, the use of proprietary identifiers is encouraged.

If a proprietary identifier is to be communicated it needs to carry a Namespace attribute that contains the DPID of the party allocating the identifier as shown above.

Should the party govern multiple identifiers that might cause confusion, the identifier type shall be communicated as a prefix followed by a colon and then followed by the identifier.

<ProprietaryId Namespace="PADPIDA3897722461G">Type:1234</ProprietaryId> 

This is not necessary, when there is no need for confusion. If, for instance a party has set up a Release and Party Identifier, there is no need to prefix the communication of a proprietary Release Identifier in the ReleaseId composite.

Other identifiers

For all non-standard identifiers, including PropritaryIDs, CatalogueNumbers, ComposerCatalogNumber, OpusNumbers as well as a MessageId and a MessageThreadId, no specific format is defined.