Shuffle and clarify identifier grammar

Specifically, make it clearer that event IDs are the weird exception in this section.
This commit is contained in:
Travis Ralston 2019-06-10 14:23:04 -06:00
parent 29340c6eb8
commit ad2eefdde9

View file

@ -88,14 +88,13 @@ Common Identifier Format
~~~~~~~~~~~~~~~~~~~~~~~~
The Matrix protocol uses a common format to assign unique identifiers to a
number of entities, including users, events and rooms. Each identifier typically
takes the form::
number of entities, including users, events and rooms. Each identifier takes
the form::
&localpart:domain
&string
where ``&`` represents a 'sigil' character; ``domain`` is the `server name`_ of
the homeserver which allocated the identifier, and ``localpart`` is an
identifier allocated by that homeserver.
where ``&`` represents a 'sigil' character; ``string`` is the string which makes
up the identifier.
The sigil characters are as follows:
@ -105,9 +104,16 @@ The sigil characters are as follows:
* ``+``: Group ID
* ``#``: Room alias
User IDs, group IDs, room IDs, room aliases, and sometimes event IDs take the form::
&localpart:domain
where ``domain`` is the `server name`_ of the homeserver which allocated the
identifier, and ``localpart`` is an identifier allocated by that homeserver.
The precise grammar defining the allowable format of an identifier depends on
the type of identifier. For example, event IDs can be represented without a
``domain`` component under some conditions - see the `Event IDs <#room-ids-and-event-ids>`_
the type of identifier. For example, event IDs can sometimes be represented with
a ``domain`` component under some conditions - see the `Event IDs <#room-ids-and-event-ids>`_
section below for more information.
User Identifiers