[jdev] Retrieving items list for a pubsub nide
sgolovan at nes.ru
Wed Mar 12 12:22:16 CDT 2008
Looking at section 5.5 of XEP-0060
see that disco#items query is used for retrieving published items
However, published items are very different from disco#items. If a
naive client attempts to interpret published item as an ordinary disco
item it will succeed but the result will be quite strange.
<iq id='21' to='some at jid' type='get' xml:lang='en'>
<iq from='some at jid' id='21' type='result' to='some at jid/resource'>
<item name='mood1' jid='some at jid'/>
<item name='mood2' jid='some at jid'/>
A client will interpret the answer as if JID "some at jid" have a natural
name (as in XEP-0030) "mood1" or "mood2".
To be able to process items list correctly two conditions must be met:
1) A client must support pubsub.
2) A client must know that a discovered node is a pubsub leaf node
(so, it must perform a preliminary disco#info query) and its
interpretation of disco#items query must depend on the context (which
makes client development more complicated).
Is there any valid reason why disco#items query is used for requesting
published items (except that both are items)? Maybe it would be better
to switch to some more appropriate custom protocol?
More information about the JDev