[PATCH] compliance with section 9.2.3 of RFC 3920 (IQ Semantics)

Martin Atkins mart at degeneration.co.uk
Thu Jan 18 19:54:56 UTC 2007


Peter Saint-Andre wrote:
> 
>   The data content of the request and response is defined by the
>   schema or other structural definition associated with the XML
>   namespace that qualifies the direct child element of the IQ
>   element.
> 

The way I read this (which not-coincidentally is consistent with 
DJabberd's current implementation!) is:

"The *meaning* of the root element is defined by the schema or other 
structural definition associated with the XML namespace of the direct 
child of the IQ element"

In other words, the "vcard-temp" namespace [1] is described by XEP-0054, 
so if that spec says the root element will have a local name of "vCard" 
then that is what it must have. On the other hand, another specification 
could say "The root element can be called whatever you like as long as 
it's in my namespace".

I think the main point is that the processing expectations for the child 
element of the IQ element are defined by the relevant extension 
specification, not by the XMPP core protocol. The XMPP handler must just 
pass up the element verbatim to the layer above and let that higher 
layer process it as appropriate.

[1] how did it end up with that ridiculous namespace identifier, anyway?


More information about the Djabberd mailing list