Internet technology hosted by Berkman Center
Top-level namespacesAn RSS 2.0 feed's top-level element -- its <rss> tag -- does not belong to any URI-identified namespace. (Technically, it belongs to the "empty namespace.") However, elements contained at any level within an RSS 2.0 feed can belong to other namespaces. That's the mechanism for extending RSS 2.0's core vocabulary. There are really two different issues with respect to RSS and namespaces: a) modular extension, and b) embedding. Since the advent of RSS 2.0 in 2002, it has been possible to extend RSS in a modular way. For example, elements belonging to the XHTML namespace, identified by the URI "http://www.w3.org/1999/xhtml," or the Dublin Core (standard metadata) namespace, identified by the URI "http://purl.org/dc/elements/1.1/," can be used to extend RSS 2.0 feeds. What RSS 2.0 feeds can't do, lacking a top-level namespace declaration, is embed directly in other XML vocabularies. For that scenario to work, RSS 2.0's top-level namespace would have to be non-empty. What happens if you simply assign an RSS 2.0 feed to a namespace? As it turns out, many (but not all) existing aggregators won't be affected by that change.1 That sounds like good news, but really it isn't. It's true only because those aggregators aren't strictly observing the rules of XML. What to do? Here are some choices:
We are inclined to recommend the third approach, but will continue to research the issue and gather feedback. 1 The RSS validator does not currently complain when an RSS 2.0 feed declares itself to be in a non-empty namespace. However, it does complain -- correctly -- when elements within the feed declare themselves as belonging to the empty namespace. |