Hi,
On Tue, 2026-03-31 at 17:30 +0200, Goffi wrote:
I'm not sure to understand your point here. Markup
would need an
(probably
short) extension to explain that something is a mention.
Comment from co-author and implementer of message markup: XEP-0394
specifies a <span/> element [1] that can be used to markup inline text
(non-block elements) and would probably be a good fit for this. The
design is intentionally extensible, with specific markups being sub-
elements of such spans (e.g. <emphasis/> or <code/>). Equally a
<mention> element (or a new kind of <reference/> element) could be
defined with an extensible way to indicate what it mentions.
I imagine an elegant solution could roughly be:
For mentioning occupants:
<markup xmlns="urn:xmpp:markup:0">
<span start="9" end="15">
<mention xmlns="urn:xmpp:tmp:mention">
<occupant-id xmlns="urn:xmpp:occupant-id:0"
id="dd72603deec90a38ba552f7c68cbcc61bca202cd" />
</mention>
</span>
</markup>
For mentioning hats:
<markup xmlns="urn:xmpp:markup:0">
<span start="9" end="15">
<mention xmlns="urn:xmpp:tmp:mention">
<hat xmlns="urn:xmpp:hats:0"
uri="http://schemas.example.com/hats#students" />
</mention>
</span>
</markup>
For mentioning roles or affiliations:
<markup xmlns="urn:xmpp:markup:0">
<span start="9" end="15">
<mention xmlns="urn:xmpp:tmp:mention">
<item
xmlns="http://jabber.org/protocol/muc#user"
role="moderator" />
</mention>
</span>
</markup>
For XEP-0030 discoverable items like rooms, users, servers, spaces or
anything on pubsub nodes:
<markup xmlns="urn:xmpp:markup:0">
<span start="9" end="15">
<mention xmlns="urn:xmpp:tmp:mention">
<item
xmlns="http://jabber.org/protocol/disco#items"
jid="spaces.commons.example" node="space" />
</mention>
</span>
</markup>
As you can see, extending this further is rather trivially. Everything
that already has a syntax of how to refer to it can easily be referred
to, it doesn't need a URI representation.
Marvin
[1]
https://xmpp.org/extensions/xep-0394.html#usecases-inline