Re: Proposed XMPP Extension: Explicit Mentions

"Marvin W. via Standards" <[email protected]> Tue, 31 Mar 2026 18:52:03 +0200
Newsgroups gmane.network.jabber.standards-jig
Message-ID <[email protected]>
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
_______________________________________________
Standards mailing list -- [email protected]
To unsubscribe send an email to [email protected]