” 等は XHTML の DTD で宣言されているので RSS 等でそのまま使用すると invalid token と怒られる(& < > " '(XML1.0から) は XML で宣言されてるので使える)。どうすればいいかーと #汚れの巣 で聞いてみたところ、数値参照しろやとか DTD 書けと教えてもらったので忘れないようにメモ。
最初は数値参照に直してみたけれど、少し後に DTD 書けばいいらしいことを教えてもらったので試してみる。どうやって書くか殆ど分からなかったから丁度良さそ。
<!DOCTYPE rdf:RDF [ <!ENTITY rdquo "”" > <!ENTITY ldquo "“" > <!ENTITY copy "©" > <!ENTITY reg "®" > <!ENTITY dagger "†" > <!ENTITY Dagger "‡" >]>
RDF は rdf:RDF かな。どっちでも valid になるから分からない…… とりあえず rdf:RDF にしてみる。 rdf:RDF が正しい。まぁルート要素名だから答えを知っていたら当たり前としか言えないよね・・・
こういうのをルート要素(rdf:RDF)の前に挿入したらおーけーだった。でも合ってるか知らないけどね! invalid って言われなかったからとりあえずいいか……
RSS Feeder って DTD も読んでくれるなんて思わなかった……普通に XML パーサーなんだから当たり前か……
できなくて、数値参照が納得いかなかったら rss plugin で変換テーブル作って変換するところさ……
ref.