On Thu Jul 16 17:15:14 2009, Dave Cridland wrote:
Clients says:
<iq type='get'>
<query xmlns='jabber:iq:roster' ver='kjashdasfg'>
<foo xmlns='http://example.net/megaprotocol/'/>
<bar xmlns='http://example.net/otherthing/'/>
</query>
</iq>
Server responds with items looking like:
<item jid='[email protected]' name='Doctor Smith'>
<group>Doctors</group>
<foo xmlns='http://example.net/megaprotocol/'>
<blarg>Rowr!</blarg>
</foo>
</item>
Yes?
No.
Simply placing things in the client's query means that any element
placed in the client's query is treated like this - that's obviously
bad the moment you realise, especially if, say, you were thinking of
putting other elements there to control active roster subsets for the
session.
So what actually needs to happen is that clients request it another
way:
Client should say:
<iq type='get'>
<query xmlns='jabber:iq:roster' ver=''>
<annotate xmlns='urn:xmpp:example'>
<foo xmlns='...'/>
<bar xmlns='...'/>
</annotate>
</query>
</iq>
(I'm starting to think of this as "Roster Annotations", because that
fits the kind of terminology used in other protocols, but "Roster
Metadata" would be okay, too).
Dave.
--
Dave Cridland - mailto:[email protected] - xmpp:[email protected]
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade