[Standards] About stream namespaces

Robin Redeker elmex at x-paste.de
Sat Mar 17 16:03:28 UTC 2007

On Sat, Mar 17, 2007 at 11:36:03AM -0400, Thomas Charron wrote:
>  Oh, and XMPP is fragmented XML.  Which is perfectly valid.  Quoting
> conversations from your own chat rooms is hardly reputable evidence to
> the contrary.

Just for the record...

Fragmented XML explictly undefined by the w3c recommendation
( http://www.w3.org/TR/2006/REC-xml-20060816/ ):

   5.1 Validating and Non-Validating Processors
      Note that when processing invalid documents with a non-validating processor
   the application may not be presented with consistent information. For example,
   several requirements for uniqueness within the document may not be met,
   including more than one element with the same id, duplicate declarations of
   elements or notations with the same name, etc. In these cases the behavior of
   the parser with respect to reporting such information to the application is

Also interesting is this piece:

   5.2 Using XML Processors
      For maximum reliability in interoperating between different XML processors,
   applications which use non-validating processors SHOULD NOT rely on any
   behaviors not required of such processors.

Further does the w3c XML recommendation only speak about 'XML Documents'
which are (by definition) well-formed.

Fragmented XML is by definition not well-formed and is not a XML Document.

=> XMPP is basically not-well-formed XML.

Maybe this is perfectly valid because XMPP calls it 'valid'. But it's
not valid if you ask the XML recommendation, because it doesn't say anything
about validness of fragmented XML.

That is theory. And now reality:

In reality there are of course implementation which are liberal in what
they accept and allow parsing of fragmented XML (yay, expat! yay, libxml!).

And it seems that in reality it doesn't matter whether XMPP is 'valid' XML or
it's not, because everyone somehow copes with it. And there are a lot of
implementations which cope with this in one way or the other. And there is money
made with this technology.

And on top of that: This usage of fragmented "XML" even made it into a
standards track RFC.


More information about the Standards mailing list