On Monday 29 September 2008 12:13:52 Dave Cridland wrote: > One reason is that we forbid the declaration of extension namespaces > (with a MUST NOT) at stream level. Now, as it happens, many > implementations cope with this fine, but in principle, they need not > - you could chop stanzas out and not rewrap them in the original > <stream:stream/> and be legal, for example.
XEP-198 elements are not stanzas, and don't need to exist outside the context of the <stream> they are part of. If XMPP-Core forbids declaring namespace prefixes in <stream>, then IMO this restriction should be relaxed in the bis draft. I understand that declaring a namespace prefix in <stream> and then using it in a stanza could result in some routability problems, but I think this is only an issue for naive implementations? > I'm inclined to say, therefore, that either we redeclare the > namespace on each XEP-0198 element, or else we just say that XEP-0198 > extends the jabber:server and jabber:client namespaces - the latter > is uglier in the specification, but much cleaner on the wire. FWIW, dialback also uses a stream-level prefix, which would violate the existing rule you speak of. -Justin
