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