[jdev] Re: VTD-XML version 1.6

Jimmy Zhang crackeur at comcast.net
Fri May 19 17:18:33 CDT 2006


Excuse my ignorance, after read your examples a bit more, I had only more 
questions...
why not exchanging well-formed XML messages for each request and response 
like SIP??
for some reason this partial conversation style of XMPP looks pretty 
unnatural?? Why is
XMPP this way??
----- Original Message ----- 
From: "Jimmy Zhang" <crackeur at comcast.net>
To: "Jabber software development list" <jdev at jabber.org>
Sent: Friday, May 19, 2006 12:25 AM
Subject: Re: [jdev] Re: VTD-XML version 1.6


>I like xmpp a lot better than SIP ... it ought to replace SIP in the 
>future....
> ----- Original Message ----- 
> From: "Alexander Gnauck" <gnauck at ag-software.de>
> To: <jdev at jabber.org>
> Sent: Thursday, May 18, 2006 11:31 PM
> Subject: [jdev] Re: VTD-XML version 1.6
>
>
>> crackeur at comcast.net schrieb:
>>>  you confused me even more...
>>> I thought IM apps exchange xml messages (usually small),
>>
>> let me explain XMPP with this small example of a session:
>>
>> the client connects, open the socket and the XML Document
>> C->S: <?xml version="1.0"?>
>> C->S: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" 
>> xmlns="jabber:client" to="jabber.org" >
>>
>> server accepts the socket and opens the XML document
>> S->C: <stream:stream xmlns='jabber:client' 
>> xmlns:stream='http://etherx.jabber.org/streams' from='jabber.org' 
>> id='596931'>
>>
>> the client starts to authenticate
>> C->S: <iq type="get" to="jabber.org" id="auth_1" >
>> <query xmlns="jabber:iq:auth">
>> <username>alex</username>
>> </query>
>> </iq>
>>
>> S->C: <iq type="result" id="auth_1" >
>> <query xmlns="jabber:iq:auth">
>> <username>gnauck</username>
>> <password/>
>> <digest/>
>> <resource/>
>> </query>
>>       </iq>
>>
>> C->S: <iq type="set" to="jabber.org" id="auth_2" >
>> <query xmlns="jabber:iq:auth">
>> <username>gnauck</username>
>> <password>secret</password>
>> <resource>Psi</resource>
>> </query>
>>       </iq>
>>
>>
>> S->C: <iq type="result" id="auth_2" />
>>
>> C->S: <message type="chat" to="romeo at jabber.org" > <body>Test</body>
>>      </message>
>>
>> Client closes the connection, which means it closes the XML Document
>> C->S: </stream:stream>
>>
>> Server is closing the XML Doc too
>> S->C: </stream:stream>
>>
>> you see we have 2 complete XML Documents. The client doc and the server 
>> doc. Our messages, also called stanzas are the 1st level child elements 
>> of the document. If you see the stanzas as a single xml doc and not in 
>> the context of the whole document you loose the namespace of the stanzas, 
>> and your software is not namespace correct. This is why parsing XMPP XML 
>> is a bit tricky and the most out of the box parsers don't work very well 
>> without modifying them. My exapmple shows the old jabber style 
>> authentication. It gets even more complicated when using SASL, START-TLS 
>> and other stuff which resets the stream and opens the document again.
>>
>> > why do they exchange huge XML docs? It sounds not just bad, but
>> > unnecessary...
>>
>> i don' think so. Because of this XMPP is a very clean and solid protocol. 
>> Clean, simple, powerful, extensible.....
>>
>> Alex
>>
>>
>
>
> 





More information about the JDev mailing list