Netscape Restores RSS DTD, Until July
Randall Bennett writes "RSS 0.91's DTD has been restored to it's rightful location on my.netscape.com, but it'll only stay there till July 1st, 2007. Then, Netscape will remove the DTD, which is loaded four million times each day. Devs, start your caching engines."
Great, the entire internet community can rely on one random person's server instead of on one really big corporation's server. That should fix things.
Don't blame me; I'm never given mod points.
Developers use off the shelf XML parsers, which generally take care of validation for you. Netscape created this problem themselves when they stated in the spec for RSS 0.91 that well-formedness was not enough, RSS 0.91 feeds should be validated against the DTD. They then specified that document authors must use a PUBLIC doctype specifier, so the option of using a SYSTEM one (where the DTD is looked up in a local catalog) is not an option.
As I replied for the previous Netscape RSS DTD article http://slashdot.org/comments.pl?sid=216818&cid=176 03480, caching DTDs from the network is not the answer if there is the possibility they will not be there in the future:
/ resolver-article.html that helped me out. In addition, if you are using Eclipse with the web tools platform, you can customize the catalog so it resolves DTDs and entities locally. See http://wiki.eclipse.org/index.php/Using_the_XML_Ca talog.
The proper thing to do is for your application to use an XML catalog for resolving entities/URIs and bundle the DTD files with the application. There is a good article at http://xml.apache.org/commons/components/resolver
I didn't say that it was Microsoft's fault. It's just that it's a powerful tool with thousands of uses that's simple (on the surface) to use, but it pays to read the fine print carefully because many things aren't obvious. (/me remembers wasting time wondering why my XPath queries weren't working...)
One line blog. I hear that they're called Twitters now.
For example, globally unique IDs in Atom feeds are often URNs, and hence URIs; but URNs aren't URLs, and you shouldn't need or want to try to connect to something just because it's used as a globally unique identifier in an Atom feed and looks a bit like a URL.
This is relevant because many Internet specifications use URNs (or in the case of HTML, FPIs) as spec identifiers. For instance, XML namespace identifiers are URIs; and while some of them happen to be URLs too, the XML namespace recommendation says:
In the case of RSS 0.91, Netscape wrote the spec, and they used a URL and told people to connect to it to fetch the necessary information to parse the file. They could have used a URN, but I'm guessing they wanted to keep their options open as far as changing the spec on the fly.
(Of course, Dave Winer has a different approach to changing RSS specs on the fly...)
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
No. This is the perfect example of why a URI is not necessarily supposed to be treated as a URL. http://my.netscape.com/publish/formats/rss-0.91.dt d is just a unique identifier for the RSS DTD. It used to also be hosted there as a convenience, but your software isn't supposed to rely on that.
http://outcampaign.org/