[standards-jig] Multi-stage conversations & jabber:x:data

atrus at rifetech.com atrus at rifetech.com
Mon Sep 9 18:38:51 UTC 2002


Temas has suggested another solution: a jabber:x:continued-data namespace
(Personally, i think jabber:x:extend might be more appropriate) that would
be used to tie together related transactions, and identify the completion
of those transactions. This would have some wider-reaching general
implications that I think are worth exploring. For example:

CLIENT: iq-get xmlns=jabber:iq:register
SERVER: iq-result xmlns=jabber:iq:register + x:data
CLIENT: iq-set xmlns=jabber:iq:register + x:data
SERVER: iq-result xmlns="jabber:iq:register + x:data + <x
xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id><incomplete/></x>

SERVER: message + x:data + <x
xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id><incomplete/></x>
CLIENT: message + x:data + <x
xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id></x>
SERVER: message + x:data + <x
xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id><complete/></x>

The initial transaction includes a <x xmlns="jabber:x:extend">, which
serves both to assign a unique identifier to this particular conversation,
as well as to indicate that the transaction is not complete. Further
communications (through iq's or messages) and then be linked conceptually
and visually to the conversation of which they are a part.

A x:extend namespace could have implications beyond x:data as well, for
example:

CLIENT: iq-get xmlns=jabber:iq:register
SERVER: iq-result xmlns=jabber:iq:register
CLIENT: iq-set xmlns=jabber:iq:register
SERVER: iq-result xmlns="jabber:iq:register + <x
xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id></x>

SERVER: message + <x xmlns="jabber:x:extend"><id>j76h54g4jfufu7j8k9j</id></x>
        <body>Please visit http://mysite/reg.pl?id=j76h54g4jfufu7j8k9j to
        complete your registration </body>






More information about the Standards mailing list