RSS 2.0: Reality of Reuse in XML

It is too easy for engineer to anticipate too much and XML Namespace is a frequent host of over-anticipation.  While XML geeks consider tag name conflicts as an impending doom that must be averted religiously through XML Namespaces, such conflicts are uncommon in practice.

While RSS elements may be reused by embedding in other XML documents, how many such composite document formats exist in reality?  If there are, it is easy enough to introduce a wrapper element that clearly marks module boundaries like this:

<myformat>
  <a>…</a><b>..</b>
  <rssmodule xmlns="blah"><rss>….</rss></rssmodule>
</myformat>

In above example, <rssmodule> element is used to trigger RSS element processing.  RSS elements other than <rssmodule> may or may not have a namespace associated.  If not, then only <rssmodule> element will have a namespace.

Note that this technique works for embedding other modules such as iCard and xCal inside RSS without shoving XML Namespace down everyone's throat.