Hi Sergei!
Sergei Golovan schrieb:
Then I would like to ask who should escape JIDs and when? I don't
think that users will read XEP and escape desired characters.
Well escaping will mostly be done by transports. Consider the case of
the well known msn transport:
MSN has addresses of the form [EMAIL PROTECTED] as well. So the transport when
it maps this address to a Jabber ID it has to do something with the @
sign in this address. Traditional transports did map it to the %
character. While a transport using XEP-0106 would map it to:
[EMAIL PROTECTED]
Clients will normally not unescape this address when displaying it. It
would only be unescaped by the client, if this client would have a
different interface for MSN messaging (a multi-IM like GUI hiding the
details that all is routed over the Jabber network for example), where
it will then just display the [EMAIL PROTECTED] again.
But no Jabber client always tried to display the JIDs generated by the
msn transport as "[EMAIL PROTECTED]@msn.example.com".
One possible question is: user's client during registration process.
And user will be surprised looking at his new brand escaped JID.
Why would a client do escaping during registration? It should just not
allow the user to enter characters not allowed in the node part of a JID
when asking it which account it wants to create.
Remember that this XEP is not made to allow new characters to be used in
user names, but to define a possible way to map addresses, that cannot
be mapped directly. I gave you one example with XML, another one is in
URLs when you add parameter values to it (http GET request).
http://example.com/script.php?param=user%40domain
You would also not expect your web browser to display this unescaped in
the address line. This escaping is just there to be able to transport
the @ character in value of a request.
The same way XEP-0106 is not about allowing nice new characters and
displaying them animated in high color and blinking. It is just for the
case a character has to be transported and cannot be used directly. Any
use of escaping should be avoided when possible, you only do it if you
have to.
Matthias