[standards-jig] XML Conformance

Fabrice DESRE - FT.BD/FTRD/DMI/GRI fabrice.desre at francetelecom.com
Thu Jan 17 09:26:14 UTC 2002


> Julian Missig wrote:
> 
> Second, namespaces. Contrary to what some people believe, Jabber's
> usage
> of namespaces conforms with the specification. <x> and <query> are
> actually a parent element of everything within in the same namespace.
> Schemas will conform with this statement. The "problem" is that
> current
> Jabber implementations do not fully support namespaces via Qualified
> Names. (Such as <last:query xmlns:last="jabber:iq:last"> and then
> being
> able to use last: thereafter) - However, there is NOTHING WRONG with
> Jabber being even more restrictive than the XML Namespaces
> Recommendation. 

 What do you mean by that ? I you don't allow aplications to use
prefixes,
you're not more restrictive, you're simply not conformant. 
 And I you ever wanted to impose such restrictions, i'll be curious to
see
how you will specify that using XML schemas.

> I feel that we should continue to enforce the fact
> that
> jabber:x: and jabber:iq: namespaces within jabber:client are only
> allowed in certain places (<x> within <message> and <presence>,
> <query>
> within <iq> and so on). If the protocol remains strict here, Jabber
> implementations will not have as much to compensate for and can be
> much
> better optimized. It's also much easier to program when you expect
> namespaces to always use certain element names in certain places.
> Again
> I stress that this does not break the XML Namespaces Recommendation in
> 
> any fashion, we are simply adding additional restrictions to Jabber.

 What you can enforce is the presence of the fully qualified element
names
in <message/> or <presence/>,... eg enforce that <message/> (or should I
say
<jabber:client:message/>) only allows as childs <jabber:x:delay/>,
<jabber:x:oob/>
and so on.

 As a general note, a big issue with the current jabber is that the
implementation
is the specification. Sadly this implementation is broken in some
places. It won't
hurt a lot if the specs were cristal clear about what you can do, but
it's not the
case. Why can't I open the stream with <ns1:stream
xmlns:ns1="http://..."/> ?
This denotes a serious bug and IMHO and misunderstanding of namespaces.

Regards,

	Fabrice


-- 
Fabrice Desré - France Telecom R&D/DTL/MSV
Tel: +(33) 2 96 05 31 43
Fax: +(33) 2 96 05 32 86



More information about the Standards mailing list