[Standards] JID Escaping

Mridul Muralidharan mridul at sun.com
Mon Jul 30 18:57:55 UTC 2007

Peter Saint-Andre wrote:
> Chris Mullins wrote:
>> PSA Wrote:
>>> Perhaps it would help for us to define a "profile" 
>>> of characters that we think are reasonable in 
>>> native XMPP bare JIDs?
>> Down that route leads an insane array of international headaches! We may
>> be it right in English, but how about in Chinese? Or Arabic? Or Russian?
>> Hebrew? Korean? Esperanto? 
> Well by "characters" I meant from among the short list of prohibited
> characters, that is:
> * U+0020 (" " or SP)
> * U+0022 (")
> * U+0026 (&)
> * U+0027 (')
> * U+002F (/)
> * U+003A (:)
> * U+003C (<)
> * U+003E (>)
> * U+0040 (@)
> Everything else is fair game!
> /psa

IMO, (un)escaping should only be done by the entities which need to do 
so - we should not mix a routing construct with display.
A client wishing to display contact should not use this xep - there are 
better ways to obtain what is to be displayed, and unescaping node is 
not the right way to go about showing 'who' the contact is.

The only real usecase I can see with this xep from clients point of view 
is to construct a jid for authorization when the node would otherwise 
contain prohibited characters.
For the server, this xep is required since its user population could 
include users which have these prohibited characters in the uid .. and 
so requires it to identify the backend user (hence need to standardize)

 From a gateway's point of view - even if there is some other encoding 
(urlencoding, etc), it does not matter - the rest of the system does not 
depend on how the gateway encodes or decodes - ofcourse it helps to 
standardize so that implementations dont end up with illegal nodes.


More information about the Standards mailing list