//SCHEMADocs
Console
Learn

Territories and languages

DDEX lets a sender qualify almost anything by language, script and territory. //SCHEMA keeps every variant exactly as sent, and gives you the rules to choose between them.

Every variant, verbatim#

A release's title can arrive once, or once per language, or once per script of the same language, or once per territory. The same goes for artist names, credits and copyright notices. //SCHEMA stores each variant exactly as it was delivered, with its qualifiers, and discards nothing.

The reason is simple: //SCHEMA has to be able to reproduce what it was sent. A system that collapsed variants — kept only the English title, say — could never regenerate the original delivery, and would have made a presentation decision on every customer's behalf.

Picking one is lossy#

Convenience fields such as Release.title and Party.name return a single value, preferring the one the sender marked default. Often, nothing is marked default: a Japanese release routinely carries a native-script and a romanized title, neither flagged. Which of the two you get is then arbitrary. That is why the full sets (titles, names) exist, and why the choice of which to show is left to you.

Language tags are whole tags#

language holds the complete tag as delivered — ja-Jpan, ja-Latn, zh-Hans-CN — and script pulls out the script subtag for convenience. Filters match the whole tag, not a prefix, because ja would match both ja-Jpan and ja-Latn, and telling those apart is usually the point. Filter by script to choose a writing system.

"No territory" is not "Worldwide"#

A variant can be qualified with a territory, with the explicit value Worldwide, or with nothing at all. //SCHEMA keeps these three apart:

  • A specific territory (DE) — applies there.
  • Nothing (territory: null) — the sender did not restrict it, so it applies anywhere nothing more specific does.
  • Worldwide — the sender explicitly said Worldwide.

It would be convenient to treat null as Worldwide, but then //SCHEMA could no longer tell you, or regenerate, what the sender actually said.

How territory filters resolve#

When you pass territory: "DE" to titles, names, contributors, plines or clines, you get what applies in Germany:

  1. variants scoped to DE; and, for anything with no DE-specific variant,
  2. the unqualified (null) variant.

Variants scoped to other territories are excluded — and so are explicit Worldwide variants, unless you ask for territory: "Worldwide". A plain equality filter would drop the unqualified variants, which in most real deliveries are most of the data.

"Anything" here means the same slot: for a title, the same type, language and script; for a credit, the same party in the same role. A DE title in German does not displace an unqualified title in Japanese.

Stored verbatim, matched loosely#

Values are stored exactly as delivered, but filters compare case-insensitively: role: "mainartist" finds MainArtist. You never need to know how a particular sender capitalised a value to find it.