[52] 最近は色々な[[日記]]や[[掲示板]]や[[更新情報]]や[[ニュース]]が [[Atom]] や [[RSS]] の[[フィード]]として提供されるようになりましたが、 [[HTML]] のおまけ程度 (またはそれ以下) とでも思っているのか、使いづらいのが多すぎます。 [59] 関連: [[いけてないフィード・リーダー]] * フィードのメタ情報 [20] [[フィード]]の[[著者]]などの情報に関して。 - [22] '''[[著者]]の[[名前]]が正しくない''' -- [[フィード]]生成にしようしている[[ソフトウェア]]の作者が[[著者]]になっているとか -- なぜか[[名前]]と[[電子メイル・アドレス]]が逆になっているとか -- ''改善方法'' --- [23] [[著者]]の名前を [CODE(XMLe)@en[[[author]]]] などに正しく記述する ---- 生成[[ソフトウェア]]の設定を確認する - [51] '''記事の著者がすべてグループ名''' -- 集団で書いている日記などで、 記事ごとの[[著者]]が ([[HTML]] 版では明記されているのに) [[フィード]]には記述されておらず、 集団名しかわからない -- ''改善方法'' --- [24] 全体の[[著者]]と個別の記事の[[著者]]の区別を [CODE(XMLe)@en[[[feed]]]] 内の [CODE(XMLe)@en[[[author]]]] と [CODE(XMLe)@en[[[entry]]]] 内の [CODE(XMLe)@en[[[author]]]] などに正しく記述する - [32] '''[[著者]]の[[電子メイル・アドレス]]が入っていない''' -- [[著者]]に[[電子メイル]]でコメントを送れない --- [[MUA]] と一体化した[[フィード・リーダー]]では[[返信]]を書くように[[著者]]に[[コメント]]を送れるのがとても便利です -- ''改善方法'' --- [21] [CODE(XMLe)@en[[[email]]]] などに[[著者]]の[[電子メイル・アドレス]]を記述する [[#comment]] * フィードの構成 [30] [[フィード]]に含める内容の構成に関して。 - [10] '''コメントやトラックバックが入っていない''' -- コメントやトラックバックによる読者の反応も含めて楽しめる [[HTML]] 版と、読者の反応の存在すら気づけない[[フィード]]版の溝を埋めてください。。。 -- ある記事とその記事へのコメントやトラックバックを集めた[[フィード]]が''記事毎''に用意されていることもありますが、 一々個別の記事の[[フィード]]をチェックするなどという面倒なことを誰がするでしょう。 -- ''改善方法'' --- [12] コメントやトラックバックを [CODE(XMLe)@en[[[item]]]] や [CODE(XMLe)@en[[[entry]]]] として含める (最善解) ---- [13] [[Atomスレッド化]]を使うとなおよい ---- [15] コメントやトラックバックが邪魔と考える読者がいるなら、 コメントやトラックバックが含ま''れる''版と含まれ''ない''版の''両方''を用意する --- [14] コメントやトラックバック専用の[[フィード]]を同時に用意する - [11] '''コメントやトラックバックが記事本体と一緒になっている''' -- ''改善方法'' --- [16] コメントやトラックバックは記事とは別の [CODE(XMLe)@en[[[item]]]] や [CODE(XMLe)@en[[[entry]]]] にする [[#comment]] * 本文 [1] 本文 ([CODE(XMLe)@en[[[description]]]], [CODE(XMLe)@en[[[summary]]]], [CODE(XMLe)@en[content:[[encoded]]]], [CODE(XMLe)@en[[[content]]]] など) に関して。 ;; 本来[[本文]]と[[要約]]は別のもののはずですが。。。 - [29] '''冒頭だけで、途中でぶったぎられている''' -- どうせ入れるなら、全文入れて欲しい -- 機械的にぶった切るために、[[フィード]]としての構文までおかしくなっていることもある -- ''改善方法'' --- [4] [CODE(XMLe)@en[[[content]]]] や [CODE(XMLe)@en[content:[[encoded]]]] に''全文''を入れる - [35] '''[Q[続きを読む]]の続きが入っていない''' -- >>29 の一例 -- [Q[続きを読む]]で分割する機能自体が ([[HTML]] 版でも) うざい -- ''改善方法'' --- [25] [Q[続きを読む]]を使わない (最善解) --- [26] [[フィード]]には[Q[続きを読む]]の[Q[続き]]も含まれるようにする - [41] [Q[続き]]があるのかどうか、 [[フィード]]版だけでは判断できない -- >>35 の最悪な場合 -- [[著者]]によっては[Q[続きを読む]]の前まででそれなりにまとまった[[文章]]にするので、 そこで終わったとしても不自然じゃないことがある -- 更に[[著者]]によっては日によって[Q[続き]]を書いたり書かなかったりするのでかなりうざい -- ''改善方法'' --- [28] >>25 (最善解) --- [48] >>26 - [46] '''文章の一部分が[[フィード]]ではなぜか欠落している''' -- 例えば画像とか引用とか -- ''改善方法'' --- [49] >>5 (最善解) - [2] '''マーク付けなしで、文章だけ入っている''' -- 段落とかリストとか全部ぐちゃぐちゃ -- ''改善方法'' --- [5] [[HTML]] 版の[[マーク付け]]をそのまま [CODE(XMLe)@en[[[content]]]] や [CODE(XMLe)@en[content:[[encoded]]]] に入れる (最善解) --- [6] [[HTML]] [[要素]]の境界に[[空白]]や[[記号]]を入れて整形したものを入れる ([[改段落]]を[[改行]]2つであらわすとか、 [[リスト]]の先頭に[Q[・]]をつけるとか) - [3] '''リンク先が入っていない''' -- >>2 と同じだけど、 [CODE(HTMLe)@en[[[a]]]] [[タグ]]を消してリンクがリンクであること & リンク先がわからないのは困る -- ''改善方法''' --- [8] >>5 (最善解) --- [9] リンクのそばにリンク先の [[URI]] が含まれるようにする (>>6 の一例) ---[7] リンクがリンクであることに依存しない文章を書く - [31] '''[[画像]]が入っていない''' -- [[画像]]に関する記事で肝心の[[画像]]が含まれていないことがよくありますが、問題外ですw -- [[動画]]や[[音声]]の場合も同様です。 -- [39] [Q[ここに画像があります]]のようなメッセージが入るが、 どんな画像なのかも画像の URI も書かれていない --某無料 Weblog サービスの場合 -- ''改善方法'' --- [18] >>5 (最善解) --- [19] >>9 - [40] '''[[HTML]] 版では [CODE(HTMLe)@en[[[img]]]] なのに、 [[フィード]]内の [[HTML]] ではなぜか [CODE(HTMLe)@en[[[a]]]]''' -- 某 Weblog ソフトウェアの場合 -- >>31 よりはまし -- わざわざ [[Webブラウザ]]を起動する必要があって面倒 -- ''改善方法'' --- [26] >>5 - [47] '''[[CSS]] での[[レンダリング]]に依存しているため、[[フィード]]内のテキスト or [[HTML]] だけでは十分な情報が得られない''' -- ''改善方法'' --- [50] [[CSS]] に依存しない[[文章]]を書く -[71] '''なぜか本文が題名と同じ''' -- 本文入れろよw -- ''改善方法'' ---[72] 本文の[[要素]]には本文を入れる (最善解) ---[73] 本文の[[要素]]を含めない [[#comment]] * 技術的な問題 -[53] '''XML と見せかけて、[[整形式]]でない''' -- ''改善方法'' --- [55] 手書きで [[XML]] [[文書]]を作成しない --- [56] [[文字列]]操作で [[XML]] [[文書]]を生成する幼稚な[[フィード]]生成[[ソフトウェア]]を[[窓から投げ捨てる]] --- [87] [[電子メイル]]の[[メッセージ]]や[[掲示板]]への投稿から[[フィード]]を生成するときは、 [[XML]] で使えない[[文字]]が含まれていないかチェックする。 -[54] '''[[文書実体]]内で[[宣言]]されていない[[実体]]への[[参照]]が登場する''' -- [[HTML]] の[[名前指定実体参照]] [WEAK[([[XML]] の[[定義済実体]]への[[参照]]を除きます。)]] をそのまま使っている -- ''改善方法'' ---[57] [[名前指定実体参照]]を使わない (最善解) ---- [[文字]]そのものを使うか ---- [[数値文字参照]]を使う --- [58] [[名前指定実体参照]]の最初の [CODE[[[&]]]] を [CODE(XML)@en[&[[amp]];]] に置き換える ---- すべての場面でこの方法が可能では''ない''ので注意 - [60] '''未だに [[Atom 0.3]]''' -- ''改善方法''' --- [61] [[Atom 1.0]] を使う - [62] '''未だに [[RSS]] 0.9[VAR@en[x]]''' -- ''改善方法''' --- [63] [[Atom 1.0]] を使う (最善解) --- [64] [[RSS 2.0]] を使う - [74] '''[[RSS 1.0]] 風だが [[RDF]] として正しくない''' -- [76] [[RSS 1.0]] は [[RDF]] ですから、 [[XML]] として[[整形式]]であることに加えて、 [[RDF/XML]] として正しい[[文書]]でなければなりません。 -- ''ありがちな間違い'' --- [75] [[特性]]を表す ([[要素型名]]が[[述語]]を表す) [[要素]]に[[属性]]を付加する ---- [[資源]]を表す ([[要素型名]]が[[主語]]や[[目的語]]を表す) [[要素]]に[[属性]]を付加することはできますが、 [[特性]]を表す[[要素]]にはできません --- [77] [[目的語]]に[[要素]]を含める ---- [[特性]]を表す[[要素]]の[[内容]]として[[文字データ]]を与えることはできます ([[リテラル]]が[[述語]]とみなされます) が、 ''そのままでは''[[子要素]]を含めることはできません ---- [[特性]]を表す[[要素]]に [CODE(XML)@en[[CODE(XMLa)@en[[QN[rdf:[[parseType]]][http://www.w3.org/1999/02/22-rdf-syntax-ns#]]]]="[[Literal]]"]] という[[属性]]が必要です --''改善方法'' --- [78] 正しい [[RDF/XML]] [[文書]]にする ---= 初心に帰って [[RDF/XML]] の入門書を熟読する ---= [[RDF]] [[妥当性検証器]]や [[RSS 1.0]] [[妥当性検証器]]で[[妥当性検証]]を行う ---= 検出された誤りを訂正する -[79] '''[CODE(MIME)@en[[[text/xml]]]] で [CODE(MIME)@en[[[charset]]]] が指定されていない''' -- [80] [CODE(MIME)@en[[[text/xml]]]] の場合、 [CODE(MIME)@en[[[charset]]]] を省略すると、 [[既定値]] [CODE(charset)@en[[[US-ASCII]]]] とみなされます -- [81] 特に[[日本語]]を使っている場合、 ほぼ確実に''誤り''になります -- [82] [CODE(MIME)@en[[[text/xml]]]] を使うより、 [CODE(MIME)@en[[[application/xml]]]] を使う方が好ましいと考えられています -- [85] なお、 [CODE(XML)@en[[[xml]]]] [[宣言]]で [CODE(XMLa)@en[[[encoding]]]] [[擬似属性]]が指定されていても、 [CODE(MIME)@en[[[text/xml]]]] では''無視されます'' -- [86] [[YukiWiki]] 2.1.3, [[WalWiki]] 2.1.0.2 にこの問題があります -- ''改善方法'' --- [83] 他の[[媒体型]]を使い、 [CODE(MIME)@en[[[charset]]]] を指定する (最善解) ---- [[Atom]] なら [CODE(MIME)@en[[[application/atom+xml]]; [[charset]]=[VAR@en[charset-name]]]] ---- [[RSS 1.0]] や [[RSS 1.1]] なら [CODE(MIME)@en[[[application/rdf+xml]]; [[charset]]=[VAR@en[charset-name]]]] ---- [[RSS 2.0]] なら [CODE(MIME)@en[[[application/rss+xml]]; [[charset]]=[VAR@en[charset-name]]]] ---- 理由があって以上を使いたくないなら、 [CODE(MIME)@en[[[application/xml]]; [[charset]]=[VAR@en[charset-name]]]] --- [84] [CODE(MIME)@en[[[charset]]]] を指定する ---- [CODE(MIME)@en[[[text/xml]]; [[charset]]=[VAR@en[charset-name]]]] -[88] '''[CODE(MIME)@en[charset]] が正しくない''' -- ''改善方法'' ---[89] [CODE(MIME)@en[[[charset]]]] を正しく指定する。 [[#comment]] * 自動発見 -[65] '''[[Feed Auto-Discovery]] の [CODE(HTMLa)@en[[[href]]]] が [CODE(URI)@en[[[feed]]:]] [[URI]]''' -- [CODE(URI)@en[[[feed]]:]] [[URI]] に対応した実装はそれほど多くない -- [CODE(URI)@en[[[feed]]:]] [[URI]] を使ったからといって特に便利になるわけではない -- [CODE(URI)@en[[[feed]]:]] [[URI scheme]] は [[IANA]] に登録された正式なものではない -- ''改善方法'' --- [66] [CODE(URI)@en[[[feed]]:]] [[URI scheme]] は使わない [[#comment]] * センスの問題 -[67] '''HTML からフィードへのリンクに [Q@en[[[XML]]]]''' -- 嘘は (たぶん) ついていませんが、 [[XML]] だという説明は[Q[あの人誰?]] [Q[日本人。]] くらいに[[情報量]]が少ないです。 -- ''改善方法'' ---[68] [Q[[[フィード]]]]、[Q@en[[[RSS]]]]、 [Q@en[[[Atom]]]]、[Q[更新情報]]など適切な名前に変更する -[69] '''HTML からフィードへのリンクに[Q[このサイトと連携する]]''' -- 語源はともかくとして、 誰が何のためにどう連携するのか意味がわかりません。 -- ''改善方法'' --- [70] >>68 [[#comment]] * メモ