[Standards-JIG] Re: query component in XMPP URIs

Peter Saint-Andre stpeter at jabber.org
Thu Sep 30 17:11:38 UTC 2004

In article <cje34q$fgr$1 at sea.gmane.org>,
 Nolan Eakins <sneakin at semanticgap.com> wrote:

> Peter Saint-Andre wrote:
> > 3. Identifying NodeIDs such as those used in JEP-0030 and JEP-0060
> > (e.g., "click here to subscribe to a weather feed for your area").
> ...
> > xmpp:pubsub.example.com?node=foo
> May I suggest "xmpp:pubsub.example.com#foo" for the above unless '#' is
> allowed anywhere in a JID. That would obviously come after the resource,
> ie: "xmpp:pubsub at example.com/resource#foo".

Yes, this makes some sense for node identifiers, since they can be seen 
as "fragments" of an address, if you will. But the actual URIs would 
probably be more like <xmpp:pubsub.example.com#NodeID>. Note also that 
JEP-0060 allows a pubsub node to have a JID (e.g., it can be of the form 
<pubsub.example.com/NodeID> or <NodeID at pubsub.example.com>), so quite 
possibly this is not necessary, but it may prove useful for certain 
kinds of pubsub implementations and also in service discovery.

> I did glance through the nodeprep and resourceprep sections of xmpp-core. I
> didn't see anything that prohibited a pound sign in a JID 

This would be used in XMPP URIs only, not in (native) JIDs. Over XMPP 
itself, we already have ways to "direct" a stanza to the attention of a 
particular node (both in JEP-0030 and JEP-0060), so there is no reason 
to add this to the JID spec in XMPP Core. The difference between a 
native JID and a non-native XMPP URI is explained in the XMPP URI spec.

> or a question
> mark, but I could still be wrong. If they're currently allowed, then '?'
> may need to be prohibited in resourceprep or switch the '?' in your
> examples to use '&' instead. 

Not really. See the XMPP URI draft for a discussion of this; the basic 
principle is to escape the "?" character in the URI if it occurs in the 
resource identifier of the underlying JID. This is necessary since the 
"?" character has meaning in a URI (i.e., it signals that everything 
after "?" is part of the query component).

> That would munge up the key=value pairs
> though--posibly. I guess it could signify the start of them and still be
> used to seperate them.

Again, not really. I'll specify all this clearly in the next version of 
the XMPP URI spec.


More information about the Standards mailing list