Actually, it's not really a good idea to resolve DTDs/schemas back out over the Internet. It slows down your development, puts an extra burden on your network and the Internet, and of course, also on the DTD/schema server. And if the server or a critical network link goes down, you're in big trouble. I had some major irritations with Sun DTDs a couple of years back on that account. It wasn't too cool when using an offline laptop, either!
Systems like Hibernate and MyFaces
JSF actually store a local copy of the DTD in one of their component jars and use a redirecting entity resolver so that that copy will get picked up instead of the original off the Internet.
However, IDEs like Eclipse and IntelliJ aren't capable of deducing whether a given app has such a mechanism or how to tap into it. Fortunately, both of the aforementioned IDEs has a way of maintaining a local catalog of DTDs and schemas. I can't speak for any other
IDE, except for Emacs, which supports a local catalog too.
In the case of IntelliJ, the local catalog facility is built-in and the mechanism for getting stuff into it is fairly obvious. In Eclipse I'm not sure. I think I have a plugin that's handling that, but I don't know which one or whether there's a fallback that's part of the vanilla install.
If you yank down a copy of the DTD of interest - or in the case of Hibernate, pull it out of the org/hibernate directory of the hibernate jar, you can map it to its system ID using the IDE's local catalog facility. This will make life more fun.