[standards-jig] [jepnews] JEP-0021: Jabber Event Notification Service

Robert Norris rob at cataclysm.cx
Mon Mar 4 23:12:19 UTC 2002

> Just a small comment on the protocol specifics:
> In most other IQ requests there is a query tag which holds the namespace, 
> and the actual parameters to the request are encapsulated in the query 
> element. It would be nice to see that continue or the xmlns declared in 
> the IQ. This makes for cleaner code when parsing the xml structure.
> For example:
> <iq id='sub1' type='set' from='subscriber-jid to='ens-jid'>
>    <subscribe xmlns='http://xml.cataclysm.cx/jabber/ens' jid='event-
> jid'/></iq>
> could become:
> <iq id='sub1' type='set' from='subscriber-jid to='ens-jid'>
>    <query xmlns='http://xml.cataclysm.cx/jabber/ens'>
>       <subscribe jid='event-jid'/>
>    </query>
> </iq>

<query/> is a holdover from the days before <iq/>. As far as I can tell,
most people use <query/> inside <iq/> because its what all the examples
do. There's no real reason to do it that way, though.

The semantics are the same either way, and I think not using <query/> is
cleaner and less cluttered.

> Does this make sense, or is it too petty?
> It allows me to be stricter in my validation and to keep validation 
> feature-local.

What sort of validation?

> The other comment was upon acception into the jabber standard, the 
> namespace probably ought to be changed to jabber:iq:ens or something like 
> that.

Possibly. The reason I didn't do it was because of this post to the
Council list by David Waite:


Although this never got past being proposed, I thought it made sense.

Besides, why do we shove everything into a jabber:* namespace? No other
XML-based system forces this. Besides, if we start making this a common
practice, then don't we (very eventually) run the risk of running out of
meaningful namespace names?

My personal feeling is that jabber:* should be kept aside for the "core"
(RFC-defined?) protocol, and that any other extensions should go
somewhere else - and it should be left to the proposal authors to come
up with this.

As an aside, using http://* as a namespace name means that we can place
information about the namespace at that URL -
  http://www.w3.org/1999/xhtml is a good example of this.

Robert Norris                                       GPG: 1024D/FC18E6C2
Email+Jabber: rob at cataclysm.cx                Web: http://cataclysm.cx/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/standards/attachments/20020305/97e61794/attachment.sig>

More information about the Standards mailing list