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

Reply via email to