[Jabber-IETF] Agenda items

Pete Chown 1 at 234.cx
Wed Oct 9 03:40:21 CDT 2002

Robert Norris wrote:

> I don't think its a non-compliant use of namespaces, but its certainly
> unorthodox.

Right; the XML is well-formed.  Similarly it is not an error to write 
"typedef int foo" in your C program, then not use foo.  However, IMHO it 
is inelegant.

The other problem is that namespaces can be declared on any tag.  This 
means that (from an XML point of view) it would be legitimate to delay 
declaring the SASL namespace until it is used.  For example:

<stream xmlns:sasl=...>
<sasl:sasl ...>


<stream ...>
<sasl:sasl xmlns:sasl=...>

> I needed a way for the client to flag to the server that it
> wanted to do a SASL auth, without breaking existing implementations.

I agree that this is a problem.  Would adding an attribute to the 
<stream> tag break existing applications?  For example, we could write:

<stream version="1.0" ...>

That would allow us to split off older software from software that 
complies with the draft we're writing.  Another possibility would be 
explicit declaration of the schema that the stream conforms too; see:


If we went this way, we would have two options.  We could have a schema 
declared as, for example, "http://jabber.org/xmpp-1.0".  The other 
communicating party would then know that the features given in the XMPP 
core draft are supported.  This might include some kind of EHLO mechanism.

The other alternative would be to declare separate schemas for each 
component of the protocol, one of which would be SASL.

Just a few ideas, I'd be interested in hearing people's thoughts.


More information about the xmppwg mailing list