<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
 <!ENTITY nbsp    "&#160;">
 <!ENTITY zwsp   "&#8203;">
 <!ENTITY nbhy   "&#8209;">
 <!ENTITY wj     "&#8288;">
]>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-ietf-cellar-tags-22" sortRefs="true" tocDepth="4" submissionType="IETF" category="std" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" tocInclude="true" symRefs="true" indexInclude="true">

<front>
<title abbrev="Matroska Tags">Matroska Media Container Tag Specifications</title><seriesInfo value="draft-ietf-cellar-tags-22" stream="IETF" status="standard" name="Internet-Draft"></seriesInfo>
<author initials="S." surname="Lhomme" fullname="Steve Lhomme"><organization></organization><address><postal>
</postal><email>slhomme@matroska.org</email>
</address></author><author initials="M." surname="Bunkus" fullname="Moritz Bunkus"><organization></organization><address><postal>
</postal><email>moritz@bunkus.org</email>
</address></author><author initials="D." surname="Rice" fullname="Dave Rice"><organization></organization><address><postal>
</postal><email>dave@dericed.com</email>
</address></author><date year="2026" month="February" day="15"></date>
<area>art</area>
<workgroup>cellar</workgroup>
<keyword>binary</keyword>
<keyword>storage</keyword>
<keyword>matroska</keyword>
<keyword>ebml</keyword>
<keyword>tags</keyword>

<abstract>
<t>Matroska is a multimedia container format. It can store timestamped multimedia data
but also chapters and tags.</t>
<t>The <tt>Tag</tt> elements add important metadata to identify and classify the information found
in a Matroska <tt>Segment</tt>.</t>
<t>This document defines the Matroska multimedia container tags, namely the tag names and their respective semantic meaning.</t>
</abstract>

</front>

<middle>

<section anchor="introduction"><name>Introduction</name>
<t>The <tt>Tag</tt> elements can tag a whole <tt>Segment</tt>, separate <tt>Tracks</tt> elements, individual <tt>Chapter</tt> elements or <tt>Attachments</tt> elements.</t>
<t>Some details about tagging are already present in <xref target="RFC9559" sectionFormat="of" section="24"/>.
Readers of this document should be familiar with that section, the different high level parts of Matroska as defined in <xref target="RFC9559" sectionFormat="of" section="4.5"/>
and EBML Master Elements as defined in <xref target="RFC8794" sectionFormat="of" section="7.7"/>.</t>
<t>While the Matroska tagging framework allows anyone to create their own custom tags, it is important to have a common
set of values for interoperability.</t>
</section>

<section anchor="notation-and-conventions"><name>Notation and Conventions</name>
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
"<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
to be interpreted as described in BCP 14 <xref target="RFC2119"/>
<xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.</t>
</section>

<section anchor="tagging"><name>Tagging</name>
<t>When a <tt>SimpleTag</tt> is nested within another <tt>SimpleTag</tt>, the nested <tt>SimpleTag</tt> becomes an attribute of its parent <tt>SimpleTag</tt>.
For instance, if one wanted to store the dates that a singer started being the lead performer,
then your <tt>SimpleTag</tt> tree would look something like this:</t>

<ul>
<li><t>Targets</t>

<ul spacing="compact">
<li>TagTrackUID = {track UID of tagged content}.</li>
</ul></li>
<li><t>ARTIST = "Band Name"</t>

<ul>
<li><t>LEAD_PERFORMER = "John Doe"</t>

<ul spacing="compact">
<li>DATE_STARTED = "1981-08"</li>
</ul></li>
</ul></li>
</ul>
<t>This corresponds to this layout of EBML elements:</t>

<sourcecode type="xml"><![CDATA[<Tags>
  <Tag>
    <Targets>
      <TagTrackUID>{track UID of tagged content}</TagTrackUID>
    </Targets>

    <SimpleTag>
      <TagName>ARTIST</TagName>
      <TagString>Band Name</TagString>

      <!-- sub tag(s) about the ARTIST -->
      <SimpleTag>
        <TagName>LEAD_PERFORMER</TagName>
        <TagString>John Doe</TagString>

        <!-- sub tag(s) about the LEAD_PERFORMER -->
        <SimpleTag>
          <TagName>DATE_STARTED</TagName>
          <TagString>1981-08</TagString>
        </SimpleTag>

      </SimpleTag>

    </SimpleTag>
  </Tag>
</Tags>
]]></sourcecode>
<t>In this way, it becomes possible to store any <tt>SimpleTag</tt> as an attribute of another <tt>SimpleTag</tt>.</t>

<section anchor="why-assigned-tags-matter"><name>Why Assigned Tags Matter</name>
<t>There is a debate between people who think all tags should be free-form and those who think
all tags should be limited to a set of names. The recommendations in this document are in between.</t>
<t>An application intended for advanced users might permit the insertion of any
tag in a file. While this provides maximum flexibility, custom or exotic tags
generally limit interoperable use. Well-known tags improve the ability of
others to read and reuse them; most applications will therefore use a small
list of useful tags.</t>
<t>So hopefully, when someone wants to put information in one's file, they will find an
assigned one, i.e., found in the IANA Matroska Tags Names registry <xref target="matroska-tags-names-registry"/>, that fits their need and hopefully use it. If it is not in the list, this person
can try to add a new tag in the registry.
This registry is not meant to have every possible information in a file.
Matroska files are not meant to become a whole database of people who made
costumes for a film. A website would be better for that. It's hard to define what should
be in and what ought not be in a file because it doesn't make sense; thus, each request needs to be evaluated to determine if it
makes sense to be carried over in a file for storage and/or sharing or if it doesn't belong there.</t>
<t>We also need an assigned list simply for developers to be able to display relevant information
in their own design, if they choose to support a list of meta-information they should know
which tag has the desired meaning so that other apps could understand the same meaning.</t>
</section>

<section anchor="tag-formatting"><name>Tag Formatting</name>

<section anchor="tagname-formatting"><name>TagName Formatting</name>
<t>Assigned <tt>TagName</tt> values <bcp14>MUST</bcp14> consist of latin capital letters, numbers and the underscore character '_'.</t>
<t>Assigned <tt>TagName</tt> values <bcp14>MUST NOT</bcp14> contain any space.</t>
<t>Assigned <tt>TagName</tt> values <bcp14>MUST NOT</bcp14> start with the underscore character '_'; see <xref target="why-assigned-tags-matter"/>.</t>
<t>It is <bcp14>RECOMMENDED</bcp14> that tag names start with the underscore character '_' for unassigned tags that are not meant to be added to the list of assigned tags.</t>
<t>The syntax of assigned <tt>TagName</tt> values is defined using this Augmented Backus-Naur Form (ABNF) <xref target="RFC5234"/> notation:</t>

<sourcecode type="abnf"><![CDATA[TagName                = FirstCharacter [Character]

FirstCharacter         = CapitalLetter / DIGIT
Character              = CapitalLetter / DIGIT / Underscore

CapitalLetter          = %x41-5A  ; "A" to "Z"
Underscore             = %x5F     ; "_"
]]></sourcecode>
</section>

<section anchor="tagstring-formatting"><name>TagString Formatting</name>
<t>Although tags are metadata mostly used for reading, there are cases where the string value could
be used for sorting, categorization, etc. For this reason, when possible, strict formatting
of the value should be used to improve interoperability.</t>
<t>Multiple items <bcp14>SHOULD NOT</bcp14> be stored as a list in a single <tt>TagString</tt>. If there is more
than one tag value with the same name to be stored,
it is <bcp14>RECOMMENDED</bcp14> to use separate <tt>SimpleTag</tt>s with that name for each value.</t>
<t>Preexisting files may have used multiple values in the same <tt>TagString</tt> but given there are no
defined delimiters they cannot be easily split into multiple elements.
<tt>INSTRUMENTS</tt> (<xref target="nested-information"/>) and <tt>KEYWORDS</tt> (<xref target="search-and-classification"/>) tags allow using a comma as a separator.
However, it is <bcp14>RECOMMENDED</bcp14> to use separate <tt>SimpleTag</tt>s with each containing a single instrument or keyword value, respectively.</t>
<t>Due to the varied nature of tag sources it may also not always possible to know programmatically
whether a value is a list that must be split or not.</t>

<section anchor="date-tags-formatting"><name>Date Tags Formatting</name>
<t><tt>TagString</tt> fields defined in this document with dates <bcp14>MUST</bcp14> have the following format: "YYYY-MM-DD hh:mm:ss.mss" or a reduced version.
The format is similar to the <xref target="ISO8601"/> date and time format defined in <xref target="RFC3339" sectionFormat="of" section="A"/>
without the "T" separator, without the time offset and with the addition of the milliseconds "mss".
The date and times represented are in Coordinated Universal Time (UTC).</t>
<t>Date and times are usually not precise to a particular millisecond.
To store less accurate dates, parts of the date string are removed starting from the right.
For instance, to store only the year, one would use "2004".
To store a specific day such as May 1st, 2003, one would use "2003-05-01".</t>
<t>The syntax of this <tt>tags-date-time</tt> is defined using this Augmented Backus-Naur Form
(ABNF) <xref target="RFC5234"/>:</t>

<sourcecode type="abnf"><![CDATA[   time-hour         = 2DIGIT ; 00-24
   time-minute       = 2DIGIT ; 00-59
   time-second       = 2DIGIT ; 00-58, 00-59, 00-60 based on
                              ; leap-second rules
   time-millisecond  = 3DIGIT ; 000-999

   timespec-hour     = time-hour
   timespec-minute   = timespec-hour ":" time-minute
   timespec-second   = timespec-minute ":" time-second
   timespec-milli    = timespec-second "." time-millisecond

   time              = timespec-hour / timespec-minute
                       / timespec-second / timespec-milli

   date-fullyear   = 4DIGIT  ; 0000-9999
   date-month      = 2DIGIT  ; 01-12
   date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
                             ; month/year

   datespec-year     = date-fullyear
   datespec-month    = datespec-year "-" date-month
   datespec-full     = datespec-month "-" date-mday
   datespec-time     = datespec-full " " time

   tags-date-time    = datespec-time / datespec-full
                       / datespec-month / datespec-year
]]></sourcecode>
</section>

<section anchor="number-tags-formatting"><name>Number Tags Formatting</name>
<t><tt>TagString</tt> fields that require a floating-point number <bcp14>MUST</bcp14> use the "." mark instead of the "," mark.
Only ASCII numbers "0" to "9" and the "." character <bcp14>MUST</bcp14> be used.
The "." separator represents the boundary between the integer value and the decimal parts.
If the string doesn't contain the "." separator, the value is an integer value.
Digit grouping delimiters <bcp14>MUST NOT</bcp14> be used.
The integer value and decimal parts are values in base 10.</t>
<t>To display it differently for another locale, it is <bcp14>RECOMMENDED</bcp14> that applications support auto
replacement on display. The thousand separator <bcp14>MAY</bcp14> be inserted for display purposes. The decimal
separator "." <bcp14>MAY</bcp14> be replaced to match the user locale for display purposes.</t>
<t>In legacy media containers, it is possible that the "," character might have been used as a separator
or that digit grouping delimiters might have been used. A <tt>Matroska Reader</tt> <bcp14>SHOULD</bcp14> use the following
character handling to parse such legacy formats:</t>

<ul spacing="compact">
<li>if multiple instances of the same non-number character are found, they are ignored,</li>
<li>if only one "." character is found and no other non-number character is found, the "." is the integer-decimal separator,</li>
<li>if only one "," character is found and no other non-number character is found, the "," is a digit grouping delimiter,</li>
<li>any other non-number character is ignored.</li>
</ul>
</section>

<section anchor="country-code-tags-formatting"><name>Country Code Tags Formatting</name>
<t><tt>TagString</tt> fields that use a Country Code <bcp14>MUST</bcp14> use the Matroska countries form defined in <xref target="RFC9559" sectionFormat="of" section="13"/>,
i.e., <xref target="RFC5646"/> two-letter region subtags, without the UK exception.</t>
</section>
</section>
</section>

<section anchor="target-types"><name>Target Types</name>
<t>The <tt>TargetTypeValue</tt> element allows tagging of different parts that are within or outside a
given file. For example, in an audio file with one song you could have information about
the CD set album it comes from, even if the whole CD set is not found in the file.</t>
<t>For applications to know the kind of information (e.g., "TITLE") relates to a certain level
(CD title or track title), we also need a set of official <tt>TargetTypeValue</tt> values and <tt>TargetType</tt> names.
That also means the same tag name can
have different meanings depending on its <tt>TargetTypeValue</tt>, otherwise we would end up with 7 "TITLE_" tag names.</t>
<t>For human readability, a <tt>TargetType</tt> string can be added next to the corresponding <tt>TargetTypeValue</tt>.
Audio and video have different <tt>TargetType</tt> values.
The following table summarizes the <tt>TargetType</tt> values found in <xref target="RFC9559" sectionFormat="of" section="5.1.8.1.1.2"/>
for audio and video content:</t>
<table><name>TargetTypeValue Values Audio Semantic Description
</name>
<thead>
<tr>
<th>TargetTypeValue</th>
<th align="left">Audio TargetType</th>
<th align="left">Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>70</td>
<td align="left">COLLECTION</td>
<td align="left">the high hierarchy consisting of many different lower items</td>
</tr>

<tr>
<td>60</td>
<td align="left">EDITION / ISSUE / VOLUME / OPUS</td>
<td align="left">a list of lower levels grouped together</td>
</tr>

<tr>
<td>50</td>
<td align="left">ALBUM / OPERA / CONCERT</td>
<td align="left">the most common grouping level of music (e.g., an album)</td>
</tr>

<tr>
<td>40</td>
<td align="left">PART / SESSION</td>
<td align="left">when an album has different logical parts</td>
</tr>

<tr>
<td>30</td>
<td align="left">TRACK / SONG</td>
<td align="left">the common parts of an album</td>
</tr>

<tr>
<td>20</td>
<td align="left">SUBTRACK / PART / MOVEMENT</td>
<td align="left">corresponds to parts of a track for audio (e.g., a movement)</td>
</tr>

<tr>
<td>10</td>
<td align="left">-</td>
<td align="left">the lowest hierarchy found in music</td>
</tr>
</tbody>
</table><table><name>TargetTypeValue Values Video Semantic Description
</name>
<thead>
<tr>
<th>TargetTypeValue</th>
<th align="left">Video TargetType</th>
<th align="left">Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>70</td>
<td align="left">COLLECTION</td>
<td align="left">the high hierarchy consisting of many different lower items</td>
</tr>

<tr>
<td>60</td>
<td align="left">SEASON / SEQUEL / VOLUME</td>
<td align="left">a list of lower levels grouped together</td>
</tr>

<tr>
<td>50</td>
<td align="left">MOVIE / EPISODE / CONCERT</td>
<td align="left">the most common grouping level of video (e.g., an episode for TV series)</td>
</tr>

<tr>
<td>40</td>
<td align="left">PART / SESSION</td>
<td align="left">when an episode has different logical parts</td>
</tr>

<tr>
<td>30</td>
<td align="left">CHAPTER</td>
<td align="left">the common parts of a movie or episode</td>
</tr>

<tr>
<td>20</td>
<td align="left">SCENE</td>
<td align="left">a sequence of continuous action in a film or video</td>
</tr>

<tr>
<td>10</td>
<td align="left">SHOT</td>
<td align="left">the lowest hierarchy found in movies</td>
</tr>
</tbody>
</table><t>A tag defined for a given <tt>TargetTypeValue</tt> also applies to all Targets with
numerically smaller <tt>TargetTypeValue</tt>s in the same hierarchy, that is, from
higher-level groups to lower-level entities. This means that if a CD has the same
artist for all tracks, you just need to set the "ARTIST" tag at <tt>TargetTypeValue</tt> 50 (ALBUM) and not
to each <tt>TargetTypeValue</tt> 30 (TRACK), but you can also repeat the value for each track.
If some tracks of that CD have no known
"ARTIST", the value <bcp14>MUST</bcp14> be set to an empty string ("") as detailed in <xref target="RFC9559" sectionFormat="of" section="24.2"/>,
so that the album "ARTIST" doesn't apply.</t>
<t>If a tag with a given <tt>TagName</tt> is found at a <tt>TargetTypeValue</tt>,
only values of that <tt>TagName</tt> are valid at that <tt>TargetTypeValue</tt> level.
In other words, the <tt>TagName</tt> values from upper <tt>TargetTypeValue</tt> levels don't apply at that level.</t>
<t>Multiple <tt>SimpleTag</tt>s with the same <tt>TagName</tt> can be used at a given <tt>TargetTypeValue</tt> level when each <tt>SimpleTag</tt> contain a <tt>TagString</tt>.
For example this can be useful to find a single "ARTIST" even when they are found in a collaboration.
The concatenation of each <tt>TagString</tt> represents the value for the <tt>TagName</tt> at this level.
The presentation, for instance with a separator, is up to the application.</t>

<section anchor="target-types-parts"><name>Target Types Parts</name>
<t>There are three organizational tags defined in <xref target="organization-information"/>:</t>

<ul>
<li><t>TOTAL_PARTS</t>
</li>
<li><t>PART_NUMBER</t>
</li>
<li><t>PART_OFFSET</t>
</li>
</ul>
<t>These tags allow specifying the ordering of some tags within another group of tags.</t>
<t>For example if an album has 10 tracks, tag the second track from it,
one would set "TOTAL_PARTS" to "10" at <tt>TargetTypeValue</tt> 50 (ALBUM). It means the "ALBUM" contains 10 lower parts.
The lower part in question is the first lower <tt>TargetTypeValue</tt> that is specified in the file.
<tt>TargetTypeValue</tt> = 30 (TRACK) would mean the album contains 10 tracks.
<tt>TargetTypeValue</tt> = 20 (MOVEMENT) would mean the album contains 10 movements, etc.
And since it's the second track within the album, the "PART_NUMBER" at <tt>TargetTypeValue</tt> 30 (TRACK) is set to "2".</t>
<t>If the parts are split into multiple logical entities, you can also use "PART_OFFSET".
For example you are tagging the third track of the second CD of a double CD album with a total of 10 tracks
the "TOTAL_PARTS" at <tt>TargetTypeValue</tt> 50 (ALBUM) is "10",
the "PART_NUMBER" at <tt>TargetTypeValue</tt> 30 (TRACK) is "3",
and the "PART_OFFSET" at <tt>TargetTypeValue</tt> 30 (TRACK) is "5", which is the number of tracks on the first CD.</t>
<t>When a <tt>TargetTypeValue</tt> level doesn't exist, it <bcp14>MUST NOT</bcp14> be specified in the files, so that the "TOTAL_PARTS"
and "PART_NUMBER" elements match the same levels.</t>
<t>Here is an example of an audio record with 2 tracks in a single file. The name of the record is also the name of the first track "Main Title".
There is one <tt>Tag</tt> element for the record, and one <tt>Tag</tt> element per track on the record.
Each track is identified by a chapter via a <tt>TagChapterUID</tt> element which corresponds to the UID of a <tt>ChapterUID</tt> as defined in <xref target="RFC9559" sectionFormat="of" section="5.1.8.1.1.5"/>.</t>
<t>The <tt>Tag</tt> for the record:</t>

<ul>
<li><t>Targets</t>

<ul spacing="compact">
<li>TargetTypeValue = 50</li>
</ul></li>
<li><t>ARTIST = "Dummy Artist Name"</t>
</li>
<li><t>TITLE = "Main Title"</t>
</li>
<li><t>TOTAL_PARTS = "2"</t>
</li>
</ul>
<t>The <tt>Tag</tt> for the first track:</t>

<ul>
<li><t>Targets</t>

<ul>
<li><t>TargetTypeValue = 30</t>
</li>
<li><t>TagChapterUID = 12345</t>
</li>
</ul></li>
<li><t>TITLE = "Main Title"</t>
</li>
<li><t>PART_NUMBER = "1"</t>
</li>
</ul>
<t>The <tt>Tag</tt> for the second track:</t>

<ul>
<li><t>Targets</t>

<ul>
<li><t>TargetTypeValue = 30</t>
</li>
<li><t>TagChapterUID = 67890</t>
</li>
</ul></li>
<li><t>TITLE = "B-side Track Name"</t>
</li>
<li><t>PART_NUMBER = "2"</t>
</li>
</ul>
<t>This corresponds to this layout of EBML elements:</t>

<sourcecode type="xml"><![CDATA[<Tags>
  <!-- description of the whole file/record -->
  <Tag>
    <Targets>
      <TargetTypeValue>50</TargetTypeValue>
    </Targets>

    <SimpleTag>
      <TagName>ARTIST</TagName>
      <TagString>Dummy Artist Name</TagString>
    </SimpleTag>

    <SimpleTag>
      <TagName>TITLE</TagName>
      <TagString>Main Title</TagString>
    </SimpleTag>

    <SimpleTag>
      <TagName>TOTAL_PARTS</TagName>
      <TagString>2</TagString>
    </SimpleTag>
  </Tag>

  <!-- description of the first track/chapter -->
  <Tag>
    <Targets>
      <TargetTypeValue>30</TargetTypeValue>
      <TagChapterUID>12345</TagChapterUID>
    </Targets>

    <SimpleTag>
      <TagName>TITLE</TagName>
      <TagString>Main Title</TagString>
    </SimpleTag>

    <SimpleTag>
      <TagName>PART_NUMBER</TagName>
      <TagString>1</TagString>
    </SimpleTag>
  </Tag>

  <!-- description of the second track/chapter -->
  <Tag>
    <Targets>
      <TargetTypeValue>30</TargetTypeValue>
      <TagChapterUID>67890</TagChapterUID>
    </Targets>

    <SimpleTag>
      <TagName>TITLE</TagName>
      <TagString>B-side Track Name</TagString>
    </SimpleTag>

    <SimpleTag>
      <TagName>PART_NUMBER</TagName>
      <TagString>2</TagString>
    </SimpleTag>
  </Tag>
</Tags>
]]></sourcecode>
<t>Here is an example using the "PART_OFFSET" tag. It corresponds to a file that contains
the third track on the second CD of the 2-CD album:</t>
<t>The <tt>Tag</tt> for the album:</t>

<ul>
<li><t>Targets</t>

<ul spacing="compact">
<li>TargetTypeValue = 50</li>
</ul></li>
<li><t>ARTIST = "The Album Artist"</t>

<ul spacing="compact">
<li>SORT_WITH = "Album Artist, The"</li>
</ul></li>
<li><t>TITLE = "Album Title"</t>
</li>
<li><t>TOTAL_PARTS = "10"</t>
</li>
</ul>
<t>The <tt>Tag</tt> for the third track of the second CD:</t>

<ul>
<li><t>Targets</t>

<ul spacing="compact">
<li>TargetTypeValue = 30</li>
</ul></li>
<li><t>TITLE = "Some Track Title"</t>
</li>
<li><t>PART_NUMBER = "3"</t>
</li>
<li><t>PART_OFFSET = "5"</t>
</li>
</ul>
<t>This corresponds to this layout of EBML elements:</t>

<sourcecode type="xml"><![CDATA[<Tags>
 <!-- description of the whole album -->
 <Tag>
  <Targets>
   <TargetTypeValue>50</TargetTypeValue>
  </Targets>

  <SimpleTag>
   <TagName>ARTIST</TagName>
   <TagString>The Album Artist</TagString>

   <SimpleTag>
    <TagName>SORT_WITH</TagName>
    <TagString>Album Artist, The</TagString>
   </SimpleTag>
  </SimpleTag>

  <SimpleTag>
   <TagName>TITLE</TagName>
   <TagString>Album Title</TagString>
  </SimpleTag>

  <!-- the number of sub elements in this album (10 tracks) -->
  <SimpleTag>
   <TagName>TOTAL_PARTS</TagName>
   <TagString>10</TagString>
  </SimpleTag>
 </Tag>

 <!-- description of the third track of the second CD -->
 <Tag>
  <Targets>
   <TargetTypeValue>30</TargetTypeValue>
  </Targets>

  <SimpleTag>
   <TagName>TITLE</TagName>
   <TagString>Some Track Title</TagString>
  </SimpleTag>

  <!-- This is the third track of the second CD -->
  <SimpleTag>
   <TagName>PART_NUMBER</TagName>
   <TagString>3</TagString>
  </SimpleTag>

  <!-- The first CD contains 5 tracks -->
  <SimpleTag>
   <TagName>PART_OFFSET</TagName>
   <TagString>5</TagString>
  </SimpleTag>
 </Tag>
</Tags>
]]></sourcecode>
</section>
</section>

<section anchor="multiple-targets-uid"><name>Multiple Targets UID</name>
<t>A <tt>Tag</tt> element has a single <tt>Targets</tt> element with a single <tt>TargetTypeValue</tt> element.
However, the <tt>Targets</tt> element can contain various <tt>TagTrackUID</tt>, <tt>TagEditionUID</tt>, <tt>TagChapterUID</tt> and <tt>TagAttachmentUID</tt> elements.</t>
<t>When multiple values are found using the same Tag UID element (e.g., <tt>TagTrackUID</tt>)
a logical OR is applied on these elements.
In other words, the tags apply to each entity defined by a UID.
This is the list of UIDs the tags apply to (e.g., list of <tt>TagTrackUID</tt>).
Such a list may contain a single UID element.</t>
<t>When different lists of Tag UID elements are found (e.g., a list of <tt>TagTrackUID</tt> and a list of <tt>TagChapterUID</tt>)
a logical AND is applied between those lists.
In other words, the tags apply only to the entities matching a UID in each list of Tag UID elements.</t>
<t>These operations allow factorizing tags that would otherwise need to be repeated multiple times.</t>
<t>Here is an example of a <tt>Tag</tt> applying to 2 chapters, using the same example as in <xref target="target-types-parts"/>:</t>

<ul>
<li><t>Targets</t>

<ul>
<li><t>TargetTypeValue = 30</t>
</li>
<li><t>TagChapterUID = 12345</t>
</li>
<li><t>TagChapterUID = 67890</t>
</li>
</ul></li>
<li><t>WRITTEN_BY = "John Doe"</t>
</li>
<li><t>WRITTEN_BY = "Jane Smith"</t>
</li>
<li><t>PRODUCER = "John Doe"</t>
</li>
<li><t>PRODUCER = "Jane Smith"</t>
</li>
</ul>
<t>This corresponds to this layout of EBML elements:</t>

<sourcecode type="xml"><![CDATA[<Tags>
  <Tag>
    <Targets>
      <TargetTypeValue>30</TargetTypeValue>

      <!-- chapter with Main Title -->
      <TagChapterUID>12345</TagChapterUID>

      <!-- chapter with B-side Track Name -->
      <TagChapterUID>67890</TagChapterUID>
    </Targets>

    <!-- first writer of Main Title and B-side Track Name -->
    <SimpleTag>
      <TagName>WRITTEN_BY</TagName>
      <TagString>John Doe</TagString>
    </SimpleTag>

    <!-- second writer of Main Title and B-side Track Name -->
    <SimpleTag>
      <TagName>WRITTEN_BY</TagName>
      <TagString>Jane Smith</TagString>
    </SimpleTag>

    <!-- first producer of Main Title and B-side Track Name -->
    <SimpleTag>
      <TagName>PRODUCER</TagName>
      <TagString>John Doe</TagString>
    </SimpleTag>

    <!-- second producer of Main Title and B-side Track Name -->
    <SimpleTag>
      <TagName>PRODUCER</TagName>
      <TagString>Jane Smith</TagString>
    </SimpleTag>
  </Tag>
</Tags>
]]></sourcecode>
<t>Some combinations of different Tag UID elements are not possible.</t>
<t>A <tt>TagChapterUID</tt> and <tt>TagAttachmentUID</tt> can't be mixed because there is no overlap
with a Chapter and an Attachment that would make sense.
An attachment applies to the whole segment and can be tied to tracks,
via <tt>\Segment\Tracks\TrackEntry\AttachmentLink</tt> as defined in <xref target="RFC9559" sectionFormat="of" section="5.1.4.1.24"/>, but not chapters.</t>
<t>Mixing <tt>TagEditionUID</tt> and <tt>TagChapterUID</tt> elements is also not useful because each Chapter UID
would need to be in one of the Chapter Edition UID.
That would be the same as not using the list of <tt>TagEditionUID</tt> at all.</t>
<t>The following table shows the allowed combinations between lists of Tag UID elements:</t>
<table anchor="taguid-combinations"><name>Tag UID elements allowed combinations</name>
<thead>
<tr>
<th align="left">UID elements</th>
<th align="left">Track</th>
<th align="left">Edition</th>
<th align="left">Chapter</th>
<th align="left">Attachment</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">Track</td>
<td align="left">YES</td>
<td align="left">YES</td>
<td align="left">YES</td>
<td align="left">with matching AttachmentLink</td>
</tr>

<tr>
<td align="left">Edition</td>
<td align="left">YES</td>
<td align="left">YES</td>
<td align="left">NO</td>
<td align="left">YES</td>
</tr>

<tr>
<td align="left">Chapter</td>
<td align="left">YES</td>
<td align="left">NO</td>
<td align="left">YES</td>
<td align="left">NO</td>
</tr>

<tr>
<td align="left">Attachment</td>
<td align="left">with matching AttachmentLink</td>
<td align="left">YES</td>
<td align="left">NO</td>
<td align="left">YES</td>
</tr>
</tbody>
</table><t>Here is an example of a <tt>Tag</tt> applying to a single track and a single chapter.
It represents the composer of the music in a part of a movie.
The file may contain a second audio track with audio commentary not including that music,
so we only tag the track with the music.</t>

<ul>
<li><t>Targets</t>

<ul>
<li><t>TargetTypeValue = 30</t>
</li>
<li><t>TagTrackUID = 123</t>
</li>
<li><t>TagChapterUID = 987654321</t>
</li>
</ul></li>
<li><t>COMPOSER = "Jane Smith"</t>
</li>
</ul>
<t>This corresponds to this layout of EBML elements:</t>

<sourcecode type="xml"><![CDATA[<Tags>
  <Tag>
    <Targets>
      <TargetTypeValue>30</TargetTypeValue>

      <!-- chapter with the music -->
      <TagTrackUID>123</TagTrackUID>

      <!-- track with the music -->
      <TagChapterUID>67890</TagChapterUID>
    </Targets>

    <!-- composer of the music in that chapter for that track -->
    <SimpleTag>
      <TagName>COMPOSER</TagName>
      <TagString>Jane Smith</TagString>
    </SimpleTag>

  </Tag>
</Tags>
]]></sourcecode>
</section>
</section>

<section anchor="assigned-tags"><name>Assigned Tags</name>
<t>The following is the initial list of assigned Matroska Tags.
As stated in <xref target="why-assigned-tags-matter"/> it is better to use assigned tags as much as possible,
otherwise compatibility will
be compromised. If you find that there is a Tag missing that you would like to use,
then please contact the persons mentioned in the IANA Matroska Tags Registry for its inclusion; see <xref target="matroska-tags-names-registry"/>.</t>

<section anchor="nesting-information"><name>Nesting Information</name>
<t>Nesting Information tags are tags that usually contain any other tags.</t>
<table><name>Nesting Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">ORIGINAL</td>
<td align="left">nested</td>
<td align="left">A special tag that is meant to have other tags inside (using nested tags) to describe the original work of art that this item is based on.</td>
</tr>

<tr>
<td align="left">SAMPLE</td>
<td align="left">nested</td>
<td align="left">A tag that contains other tags to describe a sample used in the targeted item originally found in another work of art.</td>
</tr>

<tr>
<td align="left">COUNTRY</td>
<td align="left">UTF-8</td>
<td align="left">The name of the country that is meant to have other tags inside (using nested tags) with country specific information about the item, using the Country Code format defined in <xref target="country-code-tags-formatting"/>.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="organization-information"><name>Organization Information</name>
<t>All tags in this section express hierarchy defined in <xref target="target-types-parts"/>.</t>
<table><name>Organization Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">TOTAL_PARTS</td>
<td align="left">UTF-8</td>
<td align="left">Total number of parts defined at the first lower level. (e.g., if <tt>TargetTypeValue</tt> is "50" (<tt>TargetType</tt> = "ALBUM"), the total number of tracks of an audio CD).</td>
</tr>

<tr>
<td align="left">PART_NUMBER</td>
<td align="left">UTF-8</td>
<td align="left">Index of the current part relative to parts of the same level, starting at 1. (e.g., if <tt>TargetTypeValue</tt> is "30" (<tt>TargetType</tt> = "TRACK"), the track number of an audio CD).</td>
</tr>

<tr>
<td align="left">PART_OFFSET</td>
<td align="left">UTF-8</td>
<td align="left">A number to add to "PART_NUMBER", when the parts at that level don't start at 1 (e.g., if <tt>TargetTypeValue</tt> is "30" (<tt>TargetType</tt> = "TRACK"), the track number of the second audio CD).</td>
</tr>
</tbody>
</table>
</section>

<section anchor="titles"><name>Titles</name>
<table><name>Titles tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">TITLE</td>
<td align="left">UTF-8</td>
<td align="left">The title of this item. For example, for music you might label this "Canon in D", or for video's audio track you might use "English 5.1" This is akin to the "TIT2" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">SUBTITLE</td>
<td align="left">UTF-8</td>
<td align="left">Sub Title of the entity.       This is akin to the "TIT3" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>
</tbody>
</table>
</section>

<section anchor="nested-information"><name>Nested Information</name>
<t>Nested Information tags are tags providing information about their parent tags.</t>
<table><name>Nested Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">URL</td>
<td align="left">UTF-8</td>
<td align="left">URL corresponding to the tag it is included in, using the format defined in <xref target="RFC3986"/>.</td>
</tr>

<tr>
<td align="left">SORT_WITH</td>
<td align="left">UTF-8</td>
<td align="left">A child <tt>SimpleTag</tt> element to indicate what alternative value the parent <tt>SimpleTag</tt> element can have to be sorted -- for example, "Band" instead of "The Band". Or "Doe John" and "Doe John H." (no comma needed).</td>
</tr>

<tr>
<td align="left">INSTRUMENTS</td>
<td align="left">UTF-8</td>
<td align="left">The instruments that are being used/played, separated by a comma. It <bcp14>MUST</bcp14> be a child of another tag, including the following: "ARTIST", "LEAD_PERFORMER", or "ACCOMPANIMENT".</td>
</tr>

<tr>
<td align="left">EMAIL</td>
<td align="left">UTF-8</td>
<td align="left">Email corresponding to the tag it is included in, using the "Addr-Spec" format defined in <xref target="RFC5322" sectionFormat="of" section="3.4.1"/>.</td>
</tr>

<tr>
<td align="left">ADDRESS</td>
<td align="left">UTF-8</td>
<td align="left">The physical address of the entity. The address <bcp14>MAY</bcp14> include a country code. If a country code is included, it is <bcp14>RECOMMENDED</bcp14> to use the Country Code format defined in <xref target="country-code-tags-formatting"/>. It can be useful for a recording label.</td>
</tr>

<tr>
<td align="left">FAX</td>
<td align="left">UTF-8</td>
<td align="left">The fax number corresponding to the tag it is included in. It can be useful for a recording label.</td>
</tr>

<tr>
<td align="left">PHONE</td>
<td align="left">UTF-8</td>
<td align="left">The phone number corresponding to the tag it is included in. It can be useful for a recording label.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="entities"><name>Entities</name>
<table><name>Entities tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">ARTIST</td>
<td align="left">UTF-8</td>
<td align="left">A person or band/collective generally considered responsible for the work. This is akin to the "TPE1" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">LEAD_PERFORMER</td>
<td align="left">UTF-8</td>
<td align="left">Lead Performer/Soloist(s). This can sometimes be the same as "ARTIST".        This is akin to the "TPE1" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">ACCOMPANIMENT</td>
<td align="left">UTF-8</td>
<td align="left">Band/orchestra/accompaniment/musician. This is akin to the "TPE2" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">COMPOSER</td>
<td align="left">UTF-8</td>
<td align="left">The name of one composer of this item. This is akin to the "TCOM" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">ARRANGER</td>
<td align="left">UTF-8</td>
<td align="left">The name of a person who arranged the piece (e.g., Ravel).</td>
</tr>

<tr>
<td align="left">LYRICS</td>
<td align="left">UTF-8</td>
<td align="left">The lyrics corresponding to a song, in case audio synchronization is not known or as a duplicate of a subtitle track. Editing this value, when it is a duplicate of a subtitle track, <bcp14>SHOULD</bcp14> also result in editing the subtitle track for more consistency, and vice versa.</td>
</tr>

<tr>
<td align="left">LYRICIST</td>
<td align="left">UTF-8</td>
<td align="left">The name of a person who wrote the lyrics for a musical item. This is akin to the "TEXT" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">CONDUCTOR</td>
<td align="left">UTF-8</td>
<td align="left">Conductor/performer refinement. This is akin to the "TPE3" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">The name of a director of a movie. This is akin to the "IART" tag <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">ASSISTANT_DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">The name of the assistant director.</td>
</tr>

<tr>
<td align="left">DIRECTOR_OF_PHOTOGRAPHY</td>
<td align="left">UTF-8</td>
<td align="left">The name of the director of photography, also known as cinematographer. This is akin to the "ICNM" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">SOUND_ENGINEER</td>
<td align="left">UTF-8</td>
<td align="left">The name of the sound engineer or sound recordist.</td>
</tr>

<tr>
<td align="left">ART_DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">The person who oversees the artists and craftspeople who build the sets.</td>
</tr>

<tr>
<td align="left">PRODUCTION_DESIGNER</td>
<td align="left">UTF-8</td>
<td align="left">Artist responsible for designing the overall visual appearance of a movie.</td>
</tr>

<tr>
<td align="left">CHOREGRAPHER</td>
<td align="left">UTF-8</td>
<td align="left">The name of the choreographer.</td>
</tr>

<tr>
<td align="left">COSTUME_DESIGNER</td>
<td align="left">UTF-8</td>
<td align="left">The name of the costume designer.</td>
</tr>

<tr>
<td align="left">ACTOR</td>
<td align="left">UTF-8</td>
<td align="left">An actor or actress playing a role in this movie. This is the person's real name, not the character's name the person is playing.</td>
</tr>

<tr>
<td align="left">CHARACTER</td>
<td align="left">UTF-8</td>
<td align="left">The name of the character an actor or actress plays in this movie. This <bcp14>SHOULD</bcp14> be a sub-tag of an <tt>ACTOR</tt> tag in order to not cause ambiguities.</td>
</tr>

<tr>
<td align="left">WRITTEN_BY</td>
<td align="left">UTF-8</td>
<td align="left">The author of the story or script (used for movies and TV shows).</td>
</tr>

<tr>
<td align="left">SCREENPLAY_BY</td>
<td align="left">UTF-8</td>
<td align="left">The author of the screenplay or scenario (used for movies and TV shows).</td>
</tr>

<tr>
<td align="left">EDITED_BY</td>
<td align="left">UTF-8</td>
<td align="left">The name of a film editor for a movie. This is akin to the "IEDT" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">PRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">The name of a producer for a song/movie. This is akin to the "IPRO" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">COPRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">The name of a co-producer.</td>
</tr>

<tr>
<td align="left">EXECUTIVE_PRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">The name of an executive producer.</td>
</tr>

<tr>
<td align="left">DISTRIBUTED_BY</td>
<td align="left">UTF-8</td>
<td align="left">The name of a company distributing the content. This is akin to the "IDST" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">MASTERED_BY</td>
<td align="left">UTF-8</td>
<td align="left">The engineer who mastered the content for a physical medium or for digital distribution.</td>
</tr>

<tr>
<td align="left">ENCODED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This is akin to the "TENC" tag in <xref target="ID3v2.3"/>.</td>
</tr>

<tr>
<td align="left">MIXED_BY</td>
<td align="left">UTF-8</td>
<td align="left">DJ mix by the artist specified.</td>
</tr>

<tr>
<td align="left">REMIXED_BY</td>
<td align="left">UTF-8</td>
<td align="left">Interpreted, remixed, or otherwise modified by. This is akin to the "TPE4" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PRODUCTION_STUDIO</td>
<td align="left">UTF-8</td>
<td align="left">The name of a physical studio where the content was recorded. This is akin to the "ISTD" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">THANKS_TO</td>
<td align="left">UTF-8</td>
<td align="left">A very general tag for everyone else that wants to be listed.</td>
</tr>

<tr>
<td align="left">PUBLISHER</td>
<td align="left">UTF-8</td>
<td align="left">This is akin to the "TPUB" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">LABEL</td>
<td align="left">UTF-8</td>
<td align="left">The record label or imprint on the disc.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="search-and-classification"><name>Search and Classification</name>
<table><name>Search and Classification tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">GENRE</td>
<td align="left">UTF-8</td>
<td align="left">The main genre (classical, ambient-house, synthpop, sci-fi, drama, etc.). The format follows the "TCON" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">MOOD</td>
<td align="left">UTF-8</td>
<td align="left">Intended to reflect the mood of the item with a few keywords (e.g., "Romantic", "Sad" or "Uplifting"). The format follows that of the "TMOO" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">ORIGINAL_MEDIA_TYPE</td>
<td align="left">UTF-8</td>
<td align="left">Describes the original type of the media, such as, "DVD", "CD", "computer image," "drawing," "lithograph," and so forth. This is akin to the "TMED" tag in <xref target="ID3v2.4"/>.</td>
</tr>

<tr>
<td align="left">CONTENT_TYPE</td>
<td align="left">UTF-8</td>
<td align="left">The type of the item (e.g., Documentary, Feature Film, Cartoon, Music Video, Music, Sound FX).</td>
</tr>

<tr>
<td align="left">SUBJECT</td>
<td align="left">UTF-8</td>
<td align="left">Describes the topic of the file, such as "Aerial view of Seattle."</td>
</tr>

<tr>
<td align="left">DESCRIPTION</td>
<td align="left">UTF-8</td>
<td align="left">A short description of the content, such as "Two birds flying."</td>
</tr>

<tr>
<td align="left">KEYWORDS</td>
<td align="left">UTF-8</td>
<td align="left">Keywords to the item separated by a comma, used for searching.</td>
</tr>

<tr>
<td align="left">SUMMARY</td>
<td align="left">UTF-8</td>
<td align="left">A plot outline or a summary of the story.</td>
</tr>

<tr>
<td align="left">SYNOPSIS</td>
<td align="left">UTF-8</td>
<td align="left">A description of the story line of the item.</td>
</tr>

<tr>
<td align="left">INITIAL_KEY</td>
<td align="left">UTF-8</td>
<td align="left">The initial key that a musical track starts in. The format is identical to "TKEY" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PERIOD</td>
<td align="left">UTF-8</td>
<td align="left">Describes the period that the piece is from or about. For example, "Renaissance".</td>
</tr>

<tr>
<td align="left">LAW_RATING</td>
<td align="left">UTF-8</td>
<td align="left">Depending on the "COUNTRY" it is the format of the rating of a movie (P, R, X in the USA, an age in other countries or a URI defining a logo).</td>
</tr>
</tbody>
</table>
</section>

<section anchor="temporal-information"><name>Temporal Information</name>
<t>All tags in this section use the Date format defined in <xref target="date-tags-formatting"/>.</t>
<table><name>Temporal Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">DATE_RELEASED</td>
<td align="left">UTF-8</td>
<td align="left">The time that the item was originally released. This is akin to the "TDRL" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">DATE_RECORDED</td>
<td align="left">UTF-8</td>
<td align="left">The time that the recording began. This is akin to the "TDRC" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">DATE_ENCODED</td>
<td align="left">UTF-8</td>
<td align="left">The time that the encoding of this item was completed began. This is akin to the "TDEN" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">DATE_TAGGED</td>
<td align="left">UTF-8</td>
<td align="left">The time that the tags were done for this item. This is akin to the "TDTG" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">DATE_DIGITIZED</td>
<td align="left">UTF-8</td>
<td align="left">The time that the item was transferred to a digital medium. This is akin to the "IDIT" tag in <xref target="RIFF.tags"/>.</td>
</tr>

<tr>
<td align="left">DATE_WRITTEN</td>
<td align="left">UTF-8</td>
<td align="left">The time that the writing of the music/script began.</td>
</tr>

<tr>
<td align="left">DATE_PURCHASED</td>
<td align="left">UTF-8</td>
<td align="left">Information on when the file was purchased; see also <xref target="commercial"/> on purchase tags.</td>
</tr>

<tr>
<td align="left">DATE_STARTED</td>
<td align="left">UTF-8</td>
<td align="left">When the information of the parent <tt>SimpleTag</tt> element starts being valid.       The information of the parent <tt>SimpleTag</tt> element is only valid between this date and the "DATE_ENDED" date of the same level.       The "DATE_ENDED" is <bcp14>OPTIONAL</bcp14>. If empty or omitted the end date is unknown.</td>
</tr>

<tr>
<td align="left">DATE_ENDED</td>
<td align="left">UTF-8</td>
<td align="left">When the information is not valid anymore.       The information of the parent <tt>SimpleTag</tt> element is only valid between the "DATE_STARTED" date of the same level and this date.       The "DATE_STARTED" is <bcp14>OPTIONAL</bcp14>. If empty or omitted the start date is unknown.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="spatial-information"><name>Spatial Information</name>
<table><name>Spatial Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">RECORDING_LOCATION</td>
<td align="left">UTF-8</td>
<td align="left">The location where the item was recorded, using the Country Code format defined in <xref target="country-code-tags-formatting"/>. This code is followed by a comma, then more detailed information such as state/province, another comma, and then city. For example, "US, Texas, Austin". This will allow for easy sorting. It is okay to only store the country, or the country and the state/province. More detailed information can be added after the city through the use of additional commas. In cases where the province/state is unknown, but you want to store the city, simply leave a space between the two commas. For example, "US, , Austin".</td>
</tr>

<tr>
<td align="left">COMPOSITION_LOCATION</td>
<td align="left">UTF-8</td>
<td align="left">Location that the item was originally designed/written, using the Country Code format defined in <xref target="country-code-tags-formatting"/>. This code is followed by a comma, then more detailed information such as state/province, another comma, and then city. For example, "US, Texas, Austin". This will allow for easy sorting. It is okay to only store the country, or the country and the state/province. More detailed information can be added after the city through the use of additional commas. In cases where the province/state is unknown, but you want to store the city, simply leave a space between the two commas. For example, "US, , Austin".</td>
</tr>

<tr>
<td align="left">COMPOSER_NATIONALITY</td>
<td align="left">UTF-8</td>
<td align="left">Nationality of the main composer of the item, mostly for classical music, using the Country Code format defined in <xref target="country-code-tags-formatting"/>.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="user-information"><name>User Information</name>
<t>All tags in this section are personal to the user of these files.</t>
<table><name>User Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">COMMENT</td>
<td align="left">UTF-8</td>
<td align="left">Any comment related to the content.</td>
</tr>

<tr>
<td align="left">PLAY_COUNTER</td>
<td align="left">UTF-8</td>
<td align="left">The number of times the item has been played.</td>
</tr>

<tr>
<td align="left">RATING</td>
<td align="left">UTF-8</td>
<td align="left">A numeric value defining how much a person likes the song/movie. The number is between 0 and 5, stored using the Float number defined in <xref target="number-tags-formatting"/> (e.g., 2.7), 5(.0) being the highest possible rating. Other rating systems with different ranges will have to be scaled.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="technical-information"><name>Technical Information</name>
<t>These tags represent values that could be parsed to handle the playback better.
      For historical reasons they are usually stored as strings but a stricter binary format is <bcp14>RECOMMENDED</bcp14> for new tags.</t>
<table><name>Technical Information tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">ENCODER</td>
<td align="left">UTF-8</td>
<td align="left">The software or hardware used to encode this item. ("LAME" or "XviD")</td>
</tr>

<tr>
<td align="left">ENCODER_SETTINGS</td>
<td align="left">UTF-8</td>
<td align="left">A list of the settings used for encoding this item. No specific format.</td>
</tr>

<tr>
<td align="left">BPS</td>
<td align="left">UTF-8</td>
<td align="left">The average bits per second of the specified item stored using the Float number defined in <xref target="number-tags-formatting"/>.       This is only the data in the <tt>Block(s)</tt>, and excludes headers and any container overhead.</td>
</tr>

<tr>
<td align="left">FPS</td>
<td align="left">UTF-8</td>
<td align="left">The average frames per second of the specified item. This is typically the average number of Blocks per second stored using the Float number defined in <xref target="number-tags-formatting"/>. In the event that lacing is used, each laced chunk is to be counted as a separate frame.</td>
</tr>

<tr>
<td align="left">BPM</td>
<td align="left">UTF-8</td>
<td align="left">Average number of beats per minute in the complete target (e.g., a chapter) stored using the Float number defined in <xref target="number-tags-formatting"/>.</td>
</tr>

<tr>
<td align="left">MEASURE</td>
<td align="left">UTF-8</td>
<td align="left">In music, a measure is a unit of time in Western music like "4/4". It represents a regular grouping of beats, a meter, as indicated in musical notation by the time signature. The majority of the contemporary rock and pop music you hear on the radio these days is written in the 4/4 time signature.</td>
</tr>

<tr>
<td align="left">TUNING</td>
<td align="left">UTF-8</td>
<td align="left">It is saved as a frequency in hertz to allow near-perfect tuning of instruments to the same tone as the musical piece (e.g., "441.34" in Hertz). The value is stored using the Float number defined in <xref target="number-tags-formatting"/>.</td>
</tr>

<tr>
<td align="left">REPLAYGAIN_GAIN</td>
<td align="left">UTF-8</td>
<td align="left">The gain to apply to reach 89 dB SPL (Sound Pressure Level in decibels) on playback. The value is computed according to the <xref target="ReplayGain"/> standard.       The value in decibels (dB) is stored as a string (e.g., "-0.42 dB"), using the Float number defined in <xref target="number-tags-formatting"/>. The decibel unit is <bcp14>OPTIONAL</bcp14>. There <bcp14>MAY</bcp14> be a space between the number and the decibel unit.       Note that ReplayGain information can be found at all <tt>TargetType</tt> levels (track, album, etc.).</td>
</tr>

<tr>
<td align="left">REPLAYGAIN_PEAK</td>
<td align="left">UTF-8</td>
<td align="left">The maximum absolute peak amplitude of the item. The value is computed according to the <xref target="ReplayGain"/> standard.       The value is a normalized absolute sample value of the target audio, using the Float number defined in <xref target="number-tags-formatting"/> (e.g., "1.0129").       Note that ReplayGain information can be found at all <tt>TargetType</tt> levels (track, album, etc.).</td>
</tr>

<tr>
<td align="left">EBU_R128_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">EBU R 128 Loudness.       The value is the Loudness relative to nominal full scale in LUFS (Loudness Units Full Scale) normalized to a Target Level of -23.0 LUFS as defined in <xref target="EBU-R.128"/>.       This value is stored as a floating-point number in the 32-bit and 64-bit binary interchange format, as defined in <xref target="IEEE.754"/>. It is similar to a EBML floating number value <xref target="RFC8794" sectionFormat="of" section="7.3"/>.</td>
</tr>

<tr>
<td align="left">EBU_R128_MAX_TRUE_PEAK</td>
<td align="left">binary</td>
<td align="left">EBU R 128 Maximum True Peak Level.       This corresponds to the maximum value of the audio signal waveform of a programme in the continuous time domain, measured in dB True Peak (dBTP), as defined in <xref target="EBU-R.128"/>.       This value is stored as a floating-point number in the 32-bit and 64-bit binary interchange format, as defined in <xref target="IEEE.754"/>. It is similar to a EBML floating number value <xref target="RFC8794" sectionFormat="of" section="7.3"/>.</td>
</tr>

<tr>
<td align="left">EBU_R128_LOUDNESS_RANGE</td>
<td align="left">binary</td>
<td align="left">EBU R 128 Loudness Range, measures the variation in a time-varying loudness measurement, in LU (Loudness Units) as defined in <xref target="EBU-TECH.3342"/>.       This value is stored as a floating-point number in the 32-bit and 64-bit binary interchange format, as defined in <xref target="IEEE.754"/>. It is similar to a EBML floating number value <xref target="RFC8794" sectionFormat="of" section="7.3"/>.</td>
</tr>

<tr>
<td align="left">EBU_R128_MAX_MOMENTARY_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">EBU R 128 Maximum Momentary Loudness, measures the variation of loudness on a 0.4 s sliding rectangular window, in LUFS (Loudness Units Full Scale) as defined in <xref target="EBU-TECH.3341"/>.       This value is stored as a floating-point number in the 32-bit and 64-bit binary interchange format, as defined in <xref target="IEEE.754"/>. It is similar to a EBML floating number value <xref target="RFC8794" sectionFormat="of" section="7.3"/>.</td>
</tr>

<tr>
<td align="left">EBU_R128_MAX_SHORT_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">EBU R 128 Maximum Short-Term Loudness, measures the variation of loudness on a 3 s sliding rectangular window, in LUFS (Loudness Units Full Scale) as defined in <xref target="EBU-TECH.3341"/>.       This value is stored as a floating-point number in the 32-bit and 64-bit binary interchange format, as defined in <xref target="IEEE.754"/>. It is similar to a EBML floating number value <xref target="RFC8794" sectionFormat="of" section="7.3"/>.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="external-identifiers"><name>External Identifiers</name>
<table><name>External Identifiers tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">ISRC</td>
<td align="left">UTF-8</td>
<td align="left">The International Standard Recording Code <xref target="ISRC"/>, excluding the "ISRC" prefix and including hyphens.</td>
</tr>

<tr>
<td align="left">MCDI</td>
<td align="left">binary</td>
<td align="left">This is a binary dump of the TOC of the CD-ROM that this item was taken from. This holds the same information as the "MCDI" in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 50 (ALBUM).</td>
</tr>

<tr>
<td align="left">ISBN</td>
<td align="left">UTF-8</td>
<td align="left">International Standard Book Number <xref target="ISBN"/>.</td>
</tr>

<tr>
<td align="left">BARCODE</td>
<td align="left">UTF-8</td>
<td align="left">European Article Numbering EAN-13 barcode defined in <xref target="GS1"/> General Specifications.</td>
</tr>

<tr>
<td align="left">CATALOG_NUMBER</td>
<td align="left">UTF-8</td>
<td align="left">A label-specific string used to identify the release -- for example, TIC 01.</td>
</tr>

<tr>
<td align="left">LABEL_CODE</td>
<td align="left">UTF-8</td>
<td align="left">A 4-digit or 5-digit number to identify the record label, typically printed as (LC) xxxx or (LC) 0xxxx on CDs medias or covers (only the number is stored).</td>
</tr>

<tr>
<td align="left">LCCN</td>
<td align="left">UTF-8</td>
<td align="left">United States of America Library of Congress Control Number <xref target="LCCN"/>.</td>
</tr>

<tr>
<td align="left">IMDB</td>
<td align="left">UTF-8</td>
<td align="left">Internet Movie Database <xref target="IMDb"/> title identifier. "tt" followed by at least 7 digits for Movies, TV Shows, and Episodes.</td>
</tr>

<tr>
<td align="left">TMDB</td>
<td align="left">UTF-8</td>
<td align="left">The Movie DB "movie_id" or "tv_id" identifier for movies/TV shows <xref target="MovieDB"/>. The variable length digits string <bcp14>MUST</bcp14> be prefixed with either "movie/" or "tv/".</td>
</tr>

<tr>
<td align="left">TVDB</td>
<td align="left">UTF-8</td>
<td align="left">The TV Database "Series ID" or "Episode ID" identifier for TV shows <xref target="TheTVDB"/>. Variable length all-digits string identifying a TV Show to use with the "series/{id}" API.</td>
</tr>

<tr>
<td align="left">TVDB2</td>
<td align="left">UTF-8</td>
<td align="left">The TV Database <xref target="TheTVDB"/> tag which can include movies. The variable length digits string representing a "Series ID", "Episode ID" or "Movie ID" identifier <bcp14>MUST</bcp14> be prefixed with "series/", "episodes/", or "movies/", respectively.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="commercial"><name>Commercial</name>
<table><name>Commercial tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">PURCHASE_ITEM</td>
<td align="left">UTF-8</td>
<td align="left">URL to purchase this file using the URL format defined in <xref target="RFC3986"/>. This is akin to the "WPAY" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PURCHASE_INFO</td>
<td align="left">UTF-8</td>
<td align="left">Information on where to purchase this album using the URL format defined in <xref target="RFC3986"/>. This is akin to the "WCOM" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PURCHASE_OWNER</td>
<td align="left">UTF-8</td>
<td align="left">Information on the person who purchased the file. This is akin to the "TOWN" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PURCHASE_PRICE</td>
<td align="left">UTF-8</td>
<td align="left">The amount paid for entity, using the Float number defined in <xref target="number-tags-formatting"/>.       The currency is not included. For instance, you would store "15.59" instead of "$15.59USD".</td>
</tr>

<tr>
<td align="left">PURCHASE_CURRENCY</td>
<td align="left">UTF-8</td>
<td align="left">The currency type used to pay for the entity. Use <xref target="ISO4217"/> for the 3 letter alphabetic code.</td>
</tr>
</tbody>
</table>
</section>

<section anchor="legal"><name>Legal</name>
<table><name>Legal tags
</name>
<thead>
<tr>
<th align="left">Tag Name</th>
<th align="left">Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left">COPYRIGHT</td>
<td align="left">UTF-8</td>
<td align="left">The copyright information as per the copyright holder. This is akin to the "TCOP" tag in <xref target="ID3v2.3"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">PRODUCTION_COPYRIGHT</td>
<td align="left">UTF-8</td>
<td align="left">The copyright information as per the production copyright holder. This is akin to the "TPRO" tag in <xref target="ID3v2.4"/> when the <tt>TargetTypeValue</tt> is 30 (TRACK).</td>
</tr>

<tr>
<td align="left">LICENSE</td>
<td align="left">UTF-8</td>
<td align="left">The license applied to the content (e.g., Creative Commons variants).</td>
</tr>

<tr>
<td align="left">TERMS_OF_USE</td>
<td align="left">UTF-8</td>
<td align="left">The terms of use for this item. This is akin to the "USER" tag in <xref target="ID3v2.3"/>.</td>
</tr>
</tbody>
</table>
</section>
</section>

<section anchor="security-considerations"><name>Security Considerations</name>
<t>This document inherits security considerations from the EBML <xref target="RFC8794"/> and Matroska <xref target="RFC9559"/> documents.</t>
<t>Tag values can be either <tt>TagString</tt> or <tt>TagBinary</tt> blobs. In both cases issues can happen if the parsing of the data fails.</t>
<t>Most of the time strings are kept as-is and don't pose a security issue, apart from invalid UTF-8 values.
Implementations <bcp14>MUST</bcp14> validate <tt>TagString</tt> inputs for UTF-8 correctness and
reasonable length before use, in accordance with the security considerations in <xref target="RFC3629" sectionFormat="of" section="10"/>.</t>
<t>String tags that are parsed (such as "REPLAYGAIN_GAIN" or "REPLAYGAIN_PEAK" defined in <xref target="technical-information"/>),
string tags following the TagString formatting rules <xref target="tagstring-formatting"/>, or string tags following other strict formats like URLs,
may cause issues when the string is bogus or in an unexpected format.</t>
<t>Binary tags that need to be parsed (such as "MCDI" defined in <xref target="external-identifiers"/>) may cause issues when the data is bogus or incomplete.</t>
<t>Some tags like "URL" (<xref target="nested-information"/>) and "PURCHASE_URL" (<xref target="commercial"/>) contain a URL.
Bogus or altered URLs may direct the user to unwanted places.</t>
<t>Due to the nature of nested <tt>SimpleTag</tt>, it is possible to exhaust the memory of the host app by using very deep nesting.
A host app <bcp14>MAY</bcp14> add some limits to the amount of nesting possible to avoid such issues.</t>
<t>Some elements found in <xref target="nested-information"/> and <xref target="user-information"/> may contain physical addresses, email, etc. about a person. Care should be taken
to ensure not to provide such files to people that ought not have this information when it's not
public knowledge. This can be achieved by either removing personal information or by controlling the diffusion of files
containing these pieces of information.</t>
</section>

<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="matroska-tags-names-registry"><name>Matroska Tags Names Registry</name>
<t>IANA has created a new registry called the "Matroska Tag Names"
registry.</t>
<t>To register a new Tag Name in this registry, one needs
a Name, a Type,
a Change Controller, and
an optional Reference to a document describing the Element ID.</t>
<t>The Name corresponds to the value stored in the <tt>TagName</tt> element.
A Tag Name <bcp14>MUST</bcp14> only be found once in the IANA registry.
Two Tag Names <bcp14>MUST NOT</bcp14> have the same semantic meaning.
The Name is written in all latin capital letters, numbers and the underscore character '<em>'
as defined in <xref target="tag-formatting"/>. The Name <bcp14>MUST NOT</bcp14> start with the underscore character '</em>'.</t>
<t>The Type corresponds to which element will be stored the tag value.
There can be 3 values for the Type:</t>

<ul spacing="compact">
<li><tt>UTF-8</tt>: the value of the Tag is stored in <tt>TagString</tt>,</li>
</ul>
<t>Matroska Tag Names for UTF-8 data are to be allocated according to the "First Come First Served" policy <xref target="RFC8126"/>.</t>

<ul spacing="compact">
<li><tt>binary</tt>: the value of the Tag is stored in <tt>TagBinary</tt>,</li>
</ul>
<t>Matroska Tag Names for binary data are to be allocated according to the "Specification Required" policy <xref target="RFC8126"/>.
The content of the binary data <bcp14>MUST NOT</bcp14> be a single UTF-8 string, in which case the type should be <tt>UTF-8</tt>.
It is <bcp14>RECOMMENDED</bcp14> to not include the size of the binary data at the start of the data as the size is already handled by the element itself.</t>

<ul spacing="compact">
<li><tt>nested</tt>: the tag doesn't contain a value, i.e., neither a <tt>TagBinary</tt> nor a <tt>TagString</tt> child element, only <tt>SimpleTag</tt> child elements inside.</li>
</ul>
<t>Matroska Tag Names for nested tags are to be allocated according to the "Specification Required" policy <xref target="RFC8126"/>.</t>
<t>Matroska Tag Names Values found in this document are assigned as initial values as follows:</t>
<table anchor="iana-table"><name>Initial Contents of "Matroska Tag Names" Registry</name>
<thead>
<tr>
<th align="right">Tag Name</th>
<th align="left">Tag Type</th>
<th align="left">Reference</th>
</tr>
</thead>

<tbody>
<tr>
<td align="right">ORIGINAL</td>
<td align="left">nested</td>
<td align="left">This document, <xref target="nesting-information"/></td>
</tr>

<tr>
<td align="right">SAMPLE</td>
<td align="left">nested</td>
<td align="left">This document, <xref target="nesting-information"/></td>
</tr>

<tr>
<td align="right">COUNTRY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nesting-information"/></td>
</tr>

<tr>
<td align="right">TOTAL_PARTS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="organization-information"/></td>
</tr>

<tr>
<td align="right">PART_NUMBER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="organization-information"/></td>
</tr>

<tr>
<td align="right">PART_OFFSET</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="organization-information"/></td>
</tr>

<tr>
<td align="right">TITLE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="titles"/></td>
</tr>

<tr>
<td align="right">SUBTITLE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="titles"/></td>
</tr>

<tr>
<td align="right">URL</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">SORT_WITH</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">INSTRUMENTS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">EMAIL</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">ADDRESS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">FAX</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">PHONE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="nested-information"/></td>
</tr>

<tr>
<td align="right">ARTIST</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">LEAD_PERFORMER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ACCOMPANIMENT</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">COMPOSER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ARRANGER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">LYRICS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">LYRICIST</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">CONDUCTOR</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ASSISTANT_DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">DIRECTOR_OF_PHOTOGRAPHY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">SOUND_ENGINEER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ART_DIRECTOR</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">PRODUCTION_DESIGNER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">CHOREGRAPHER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">COSTUME_DESIGNER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ACTOR</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">CHARACTER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">WRITTEN_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">SCREENPLAY_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">EDITED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">PRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">COPRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">EXECUTIVE_PRODUCER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">DISTRIBUTED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">MASTERED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">ENCODED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">MIXED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">REMIXED_BY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">PRODUCTION_STUDIO</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">THANKS_TO</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">PUBLISHER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">LABEL</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="entities"/></td>
</tr>

<tr>
<td align="right">GENRE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">MOOD</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">ORIGINAL_MEDIA_TYPE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">CONTENT_TYPE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">SUBJECT</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">DESCRIPTION</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">KEYWORDS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">SUMMARY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">SYNOPSIS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">INITIAL_KEY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">PERIOD</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">LAW_RATING</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="search-and-classification"/></td>
</tr>

<tr>
<td align="right">DATE_RELEASED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_RECORDED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_ENCODED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_TAGGED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_DIGITIZED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_WRITTEN</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_PURCHASED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_STARTED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">DATE_ENDED</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="temporal-information"/></td>
</tr>

<tr>
<td align="right">RECORDING_LOCATION</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="spatial-information"/></td>
</tr>

<tr>
<td align="right">COMPOSITION_LOCATION</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="spatial-information"/></td>
</tr>

<tr>
<td align="right">COMPOSER_NATIONALITY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="spatial-information"/></td>
</tr>

<tr>
<td align="right">COMMENT</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="user-information"/></td>
</tr>

<tr>
<td align="right">PLAY_COUNTER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="user-information"/></td>
</tr>

<tr>
<td align="right">RATING</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="user-information"/></td>
</tr>

<tr>
<td align="right">ENCODER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">ENCODER_SETTINGS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">BPS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">FPS</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">BPM</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">MEASURE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">TUNING</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">REPLAYGAIN_GAIN</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">REPLAYGAIN_PEAK</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">EBU_R128_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">EBU_R128_MAX_TRUE_PEAK</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">EBU_R128_LOUDNESS_RANGE</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">EBU_R128_MAX_MOMENTARY_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">EBU_R128_MAX_SHORT_LOUDNESS</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="technical-information"/></td>
</tr>

<tr>
<td align="right">ISRC</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">MCDI</td>
<td align="left">binary</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">ISBN</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">BARCODE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">CATALOG_NUMBER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">LABEL_CODE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">LCCN</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">IMDB</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">TMDB</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">TVDB</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">TVDB2</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="external-identifiers"/></td>
</tr>

<tr>
<td align="right">PURCHASE_ITEM</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="commercial"/></td>
</tr>

<tr>
<td align="right">PURCHASE_INFO</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="commercial"/></td>
</tr>

<tr>
<td align="right">PURCHASE_OWNER</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="commercial"/></td>
</tr>

<tr>
<td align="right">PURCHASE_PRICE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="commercial"/></td>
</tr>

<tr>
<td align="right">PURCHASE_CURRENCY</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="commercial"/></td>
</tr>

<tr>
<td align="right">COPYRIGHT</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="legal"/></td>
</tr>

<tr>
<td align="right">PRODUCTION_COPYRIGHT</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="legal"/></td>
</tr>

<tr>
<td align="right">LICENSE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="legal"/></td>
</tr>

<tr>
<td align="right">TERMS_OF_USE</td>
<td align="left">UTF-8</td>
<td align="left">This document, <xref target="legal"/></td>
</tr>
</tbody>
</table>
</section>

<section anchor="guidelines-for-the-designated-experts"><name>Guidelines for the Designated Experts</name>
<t>Criteria that should be applied by the designated experts include determining whether
the proposed registration duplicates existing entries and whether the registration
description is clear and fits the purpose of this registry.</t>
<t>Moreover, criteria for <tt>binary</tt> tags include ensuring the data in the <tt>TagBinary</tt> element
are defined in a specification.
When possible, i.e., the binary format is not already in use elsewhere, the
data should not start with the size of the data to follow, as this size is already
part of the <tt>TagBinary</tt> element.</t>
<t>Criteria for <tt>nested</tt> tags include ensuring that the tag consists of one or more
child <tt>SimpleTag</tt> elements to describe the metadata corresponding to that tag.</t>
</section>
</section>

</middle>

<back>
<references><name>References</name>
<references><name>Normative References</name>

<reference anchor="EBU-R.128" target="https://tech.ebu.ch/publications/r128/">
  <front>
    <title>LOUDNESS NORMALISATION AND PERMITTED MAXIMUM LEVEL OF AUDIO SIGNALS</title>
    <author></author>
    <date year="2023" month="November"></date>
  </front>
</reference>

<reference anchor="EBU-TECH.3341" target="https://tech.ebu.ch/publications/tech3341">
  <front>
    <title>LOUDNESS METERING: &#39;EBU MODE&#39; METERING TO SUPPLEMENT EBU R 128 LOUDNESS NORMALIZATION</title>
    <author></author>
    <date year="2023" month="November"></date>
  </front>
</reference>

<reference anchor="EBU-TECH.3342" target="https://tech.ebu.ch/publications/tech3342">
  <front>
    <title>LOUDNESS RANGE: A MEASURE TO SUPPLEMENT EBU R 128 LOUDNESS NORMALIZATION</title>
    <author></author>
    <date year="2023" month="November"></date>
  </front>
</reference>

<reference anchor="GS1" target="https://www.gs1.org/standards/barcodes-epcrfid-id-keys/gs1-general-specifications">
  <front>
    <title>GS1 General Specifications</title>
    <author></author>
    <date year="2020" month="January"></date>
  </front>
  <seriesInfo name="GS1" value="20.0"></seriesInfo>
</reference>

<reference anchor="ID3v2.3" target="https://id3.org/id3v2.3.0">
  <front>
    <title>ID3 tag version 2.3.0</title>
    <author fullname="Martin Nilsson">
      <organization></organization>
    </author>
    <author fullname="Dirk Mahoney" role="editor">
      <organization></organization>
    </author>
    <author fullname="Johan Sundstrom" role="editor">
      <organization></organization>
    </author>
    <date year="1999" month="February" day="3"></date>
  </front>
</reference>

<reference anchor="ID3v2.4" target="https://id3.org/id3v2.4.0-frames">
  <front>
    <title>ID3 tag version 2.4.0 - Native Frames</title>
    <author fullname="Martin Nilsson">
      <organization></organization>
    </author>
    <date year="2000" month="November" day="1"></date>
  </front>
</reference>

<reference anchor="IEEE.754" target="https://standards.ieee.org/standard/754-2019.html">
  <front>
    <title>IEEE Standard for Binary Floating-Point Arithmetic</title>
    <author>
      <organization>IEEE</organization>
    </author>
    <date year="2019" month="June" day="13"></date>
  </front>
</reference>

<reference anchor="IMDb" target="https://developer.imdb.com/documentation/key-concepts/">
  <front>
    <title>IMDb data key concepts</title>
    <author>
      <organization>Internet Movie Database</organization>
    </author>
  </front>
</reference>

<reference anchor="ISBN" target="https://www.isbn-international.org/content/isbn-users-manual/29">
  <front>
    <title>ISBN Users&#39; Manual</title>
    <author>
      <organization>International ISBN Agency</organization>
    </author>
    <date year="2017" month="December"></date>
  </front>
</reference>

<reference anchor="ISO4217" target="https://www.iso.org/iso-4217-currency-codes.html">
  <front>
    <title>ISO 4217 Currency codes</title>
    <author>
      <organization>International Organization for Standardization</organization>
    </author>
    <date year="2015" month="August"></date>
  </front>
  <seriesInfo name="ISO" value="4217:2015"></seriesInfo>
</reference>

<reference anchor="ISRC" target="https://www.ifpi.org/isrc_handbook/">
  <front>
    <title>International Standard Recording Code (ISRC) Handbook</title>
    <author>
      <organization>International ISRC Registration Authority</organization>
    </author>
    <date year="2021"></date>
  </front>
  <seriesInfo name="IFPI" value="4th Edition"></seriesInfo>
</reference>

<reference anchor="LCCN" target="https://www.loc.gov/marc/lccn.html">
  <front>
    <title>Library Of Congress Control Number</title>
    <author>
      <organization>United States Library Of Congress</organization>
    </author>
    <date year="1999" month="October"></date>
  </front>
</reference>

<reference anchor="MovieDB" target="https://developers.themoviedb.org/3/movies/get-movie-details">
  <front>
    <title>The Movie Database API</title>
    <author>
      <organization>The Movie Database</organization>
    </author>
  </front>
</reference>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3629.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5322.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5646.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8794.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9559.xml"/>

<reference anchor="ReplayGain" target="https://wiki.hydrogenaud.io/index.php?title=Replay_Gain_specification">
  <front>
    <title>ReplayGain 1.0 specification</title>
    <author fullname="David Robinson">
      <organization></organization>
    </author>
    <date year="2001" month="July" day="10"></date>
  </front>
</reference>

<reference anchor="TheTVDB" target="https://thetvdb.github.io/v4-api/">
  <front>
    <title>TVDB API V4</title>
    <author>
      <organization>The TVDB</organization>
    </author>
  </front>
</reference>
</references>
<references><name>Informative References</name>

<reference anchor="ISO8601" target="https://www.iso.org/standard/70907.html">
  <front>
    <title>Date and time - Representations for information interchange - Part 1: Basic rules</title>
    <author>
      <organization>International Organization for Standardization</organization>
    </author>
    <date year="2019" month="February"></date>
  </front>
  <seriesInfo name="ISO" value="8601-1:2019"></seriesInfo>
</reference>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml"/>

<reference anchor="RIFF.tags" target="https://exiftool.org/TagNames/RIFF.html">
  <front>
    <title>RIFF Tags</title>
    <author>
      <organization>Exiftool</organization>
    </author>
  </front>
</reference>
</references>
</references>

</back>

</rfc>
