[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