DebianやUbuntuでXMLカタログを変更する
Debian的には上記の操作を/usr/sbin/update-xmlcatalogでやるのが正攻法らしい。後で調べる。
というわけで、RSS 0.91のDTDをXMLカタログに登録する操作を、DebianやUbuntuで用意されている機構でやりなおしてみる。このへんを参考にした。
DTDを置くディレクトリを作るところと、DTDをダウンロードするところまでは同じ。カタログは自分で作らずに、とりあえずDTDだけコピーする。
$ sudo mkdir /usr/local/share/xml/schema/rss $ wget http://www.rssboard.org/rss-0.91.dtd $ sudo cp rss-0.91.dtd /usr/local/share/xml/schema/rss
で、update-xmlcatalogを使って、/usr/local/share/xml/schema/rss/catalog.xmlを生成する。
$ sudo update-xmlcatalog --add --local /usr/local/share/xml/schema/rss/catalog.xml --type public --id "-//Netscape Communications//DTD RSS 0.91//EN" --file /usr/local/share/xml/schema/rss/rss-0.91.dtd
続いて、それを指す/etc/xml/rss.xml(パッケージというらしい)を生成する。update-xmlcatalogのソースを見るかぎり、--packageであれば、--idで指定した文字列はXMLカタログ中で「publicStartString」扱いとなるようだ。
$ sudo update-xmlcatalog --add --package rss --local /usr/local/share/xml/schema/rss/catalog.xml --type public --id "-//Netscape Communications//DTD RSS"
最後に、パッケージを指す大元の/etc/xml/catalogを変更する。やはりupdate-xmlcatalogのソースを見るかぎり、--rootであれば、--idで指定した文字列はXMLカタログ中で「publicStartString」扱いとなるようだ。
$ sudo update-xmlcatalog --add --root --package rss --type public --id "-//Netscape Communications//DTD RSS"
これで、前回とほぼ同じ結果になった、と思う。
コメント
コメントの投稿
トラックバック
http://emasaka.blog65.fc2.com/tb.php/452-38c41eea
