Here in Windows, we’re working hard on Windows Vista Beta 2, and we’ve recently been doing some work on how we parse feeds.
Our years of experience in with HTML in Internet Explorer have taught us the long-term pain that results from being too liberal with what you accept from others. Hence, we’ve adopted the following overriding principle for IE 7 and RSS platform in Windows Vista:
We will only support feeds that are well-formed XML.
This principle allows us to build a more predictable feed parser. As a platform, it’s important that applications using the platform to consume feeds can rely on the fact that the platform will always be providing information in the way that the publisher intended (trying to guess what a publisher meant to do when there is an error in a feed can be tricky, at best). We also spoke to several people in the RSS and developer community at Gnomedex and at PDC, and they wholeheartedly supported this.
When viewing a feed that doesn’t validate as correct XML, IE7 will flag it (and highlight the error, just like we do today for generically bad XML feeds – so feed publishers can see what’s going on). When the platform downloads a feed with errors during regular updates, it will discard that update, and will try again at the next scheduled download (so feeds with temporary errors won’t be permanently affected).
That said, we do recognize that there is a great deal of variance in the actual content of RSS feeds, so we’ll be more liberal when it comes to what elements are required in a feed. We will post on exactly how we’re handling different feeds in a future post.