Suris are defined by a series of names separated by dots .. Those names are called level entries because each of them belongs to a specific level, being the left-most the highest level.

+ ────────────► -
─┬── ─┬───── ─┬──
 │    │       └► 3rd level
 │    └► 2nd level
 └► 1st level

This works in the reverse order of the DNS hierarchy, where the deepest level is written first. For example, the DNS domain would be written as in suri.

The level of an entire Suri is equal to the most specific level entry, or the count of level entries. In the previous example, the Suri has a level of 3.

When a Suri has a level of 1, it is called Top Level Suri or simply TLS.

Canonical format

Suri have a single canonical format which is: suri level entries are displayed starting from the highest level on the left, to the lowest on the right being each level followed by a dot . but the last one.

  • . - root

  • com

  • domains



Formal definition
<canonical_suri> := <root> | <suri>
          <root> := '.'
          <suri> := <name> ('.' <name>)*
          <name> := <name_char>+ ("-"+ <name_char>+)*
     <name_char> := <unicode_xid_body> | <unicode_number> | <emoji_pictographic> | <emoji_component>

Last updated