RSS 0.9のDTDがlibxmlでエラーになる Plaggerで、今月に入ってからRSS 0.9のフィードのパースエラーが起きていたので、調べてみた。 の続き。 面倒なのでwiresharkで調べてみたら、libxmlのパーサーはDTDのURLに本当にアクセスしていた。へー。 避ける方法ぐらいあるんじゃなかろうかと思って、libxmlやXMLについて付け焼き刃で勉強してみた。どうやらXMLにはXMLカタログという機構があって、リソースの参照先を指定したり変更したりできるらしい。 というわけで、RSS 0.91のDTDの参照先を設定してみる。以下、Debianでの例。 まず、DTDとXMLカタログを置くディレクトリを適当なところに作る。 $ sudo mkdir /usr/local/share/xml/schema/rss 次にDTDをダウンロードする。 $ wget http://w