[JDEV] XML Requirements for Parsing Jabber Messages

David Waite mass at akuma.org
Mon Nov 4 10:43:29 CST 2002


On Monday, Nov 4, 2002, at 06:41 America/Denver, Tijl Houtbeckers wrote:

> Tony Cheung <dragonman at asiayeah.com> wrote on 3-11-2002 1:27:20:
>> 6) Do we need strict XML validation?
>>
>
> The Jabber Server is not allowed to send you something that's not XML.
> It's not called *near* real time message delivery for nothing ;) It
> does (or should) validate. So you don't need a validating parser.

The jabber server does not validate at all. As long as the XML being 
sent it well-formed and starts with the right tag (presence, message, 
or iq), it will be routed to the recipient.

It is a bad idea for clients to validate, since you are not validating 
traffic from a single user but from all users. If you have strict 
validation, any user can trigger a validation error by sending you 
invalid (but well-formed) XML.

> Then there is one point you didn't touch: namespaces. While something
> called "namespaces" is being used in the protocol, it isn't entirely in
> line with the W3C recommendation. This actually makes things simpeler
> though cause your parser doesn't have to support them.
>
However, we will eventually have namespace support. The issue right now 
is that you must use specific prefixes on output XML for all clients 
and servers to interpret the namespaces correctly. This is because they 
look at prefixes as if they were part of the local name, and treat 
namespace declarations as plain attributes.

In the future, this would become a 'may' requirement rather than a 
must, but receiving clients would have to support 'real' namespace 
declarations, including allowing for elements and elements to have 
arbitrary prefixes.

-David Waite




More information about the JDev mailing list