続・RSSの書式について
前回の記事 「RSSの書式について」 で、 m字幅のダッシュを書くために使っている "—" という文字実体参照が、 RSSではエラーとして処理されてしまうことを書いた。 その理由が判明した。
「はてなダイアリー - 文字参照とは」
によれば、初期状態のXMLにおいて、
「あらかじめ決められている文字参照は「<」「>」「&」「"」「'」のみである」
らしい。
そのため、先程のようなm字幅ダッシュなどの文字参照は未定義として扱われてしまうということが分かった。
しかし、どうやったら文字参照を定義できるのかさっぱり分からなかったので、 これについて調べた。 検索語にかなり気を使ったが、中々良い情報が見つからない… と思ったら、 "マークの付け方" というところの 「Mozilla/Opera の XML の実装状況」 にて発見。 例えばコピーマークを © として表示させたいなら、 以下のような書式で書くらしい。
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY copy "©" >
]>
また、草案ではあるが、 「XML Character Entities (Working Draft 0.3, 13 June 2002)」 のようなXML文字実体参照(のセット)が定義されようとしているようだ。 これを読み込めば一気に文字参照を定義することができ、 上のような面倒な方法をとる必要がなくなるだろう。
で、その定義ファイルはどこに置いてあるのかを 検索 してみた。 「XML Characater Entities」 というページに各バージョンの文字参照定義ファイルが載ってるけど、 一体どうやって使うんだ? 「XML.com: Named Character Elements for XML」 辺りが説明してると思うんだけど、 「Converting legacy documents with character entities」 という章の例みたいに書けばいいのかな。 でも定義ファイルの参照URIが絶対アドレスじゃないのはなぜ?? あんまり理解できないので、また後ほど詳しく読むことにする。 正直なところ — を全てダッシュ記号に置き換えりゃ済むことなんだけど、 後学のために勉強してみることにしよう。
ところで、文字実体参照は要らないって声があるみたいだけど、どうなんだろうか。 数値による文字参照はメンテナンスの上でややこしくなるから、僕は嫌だなぁ。
さて、文字実体参照の件が解決したら、 「10/12 RSSの書式の検討」 で書いた、「このサイトのRSSが、RSSリーダで正しく読めない」という問題は解決するのだろうか?
(当ブログ "web :: blog system" カテゴリ 内の記事です)
この記事へのWritebackはありません。