-
Notifications
You must be signed in to change notification settings - Fork 4
/
833.txt
476 lines (398 loc) · 24 KB
/
833.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
[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]] 版と、読者の反応の存在すら気づけない[[フィード]]版の溝を埋めてください。。。
ある記事とその記事へのコメントやトラックバックを集めた[[フィード]]が''記事毎''に用意されていることもありますが、
一々個別の記事の[[フィード]]をチェックするなどという面倒なことを誰がするでしょう。
でも一方で、著者以外が書いた細かいコメントの記事が沢山あって著者の記事が埋もれてしまうので、
コメントが[[フィード]]に入っていたら邪魔という気持ちもあるんですよね。
;; その辺は [[Atomスレッド化]]の普及と[[フィード・リーダー]]の実装の改善で使いやすくなっていくといいのですが。。。
''改善方法''
- [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]] に依存しない[[文章]]を書く
--- [CODE(HTMLe)@en[[[style]]]] [[要素]] ([CODE(HTMLa)@en[[[scoped]]]] [[属性]]つき) を含める
-[95] '''相対参照'''
-- [[HTML]] 版の一部を抜き出して[[フィード]]化した場合など、
[[解決]]できない[[相対参照]]が含まれていることがあります。
-- ''改善方法''
---[96] すべての [[URI参照]]は[[絶対URI参照]]とする。
---[97] [[基底URI]] を適当な場所に指定する。
----[98] 現状、正しく[[基底URI]] を処理できない[[利用者エージェント]]が多いのではないかと推測されますので、
>>96 とした方が無難でしょう。
-[71] '''なぜか本文が題名と同じ'''
-- 本文入れろよw
-- ''改善方法''
---[72] 本文の[[要素]]には本文を入れる (最善解)
---[73] 本文の[[要素]]を含めない
-[90] '''題名のリンク先が含まれていない'''
-- [[HTML]] 版では記事の[[見出し]]が他サイトへの[[リンク]]になっていることがあります。
-- その[[フィード]]版では[[見出し]]の[[リンク]]が含まれていないことがあります。
-- ''改善方法''
---[91] 何らかの形で[[リンク]]を含める
[[#comment]]
* 技術的な問題
[53] '''XML と見せかけて、[[整形式]]でない'''
[[製形式]]でない [[XML]] が出力される理由は色々あります。例えば、
- [[HTML]] の[[本文]]を特定の長さでカットしたが、その際[[タグ]]や[[文字参照]]を考慮していないため、
[[XML]] [[要素]]の[[内容]]としたときに不正な文字列片が含まれてしまっている
- [[HTML]] の[[本文]]をそのまま [[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]]"]]
という[[属性]]が必要です
- [104] [[Mobile Link Discovery]] を [[RSS 1.0]] で使う
-- [[Mobile Link Discovery]] は [[RSS 1.0]] に対応していません。
-[111] [[mod_sec]] を使う
-- [[mod_sec]] は [[RDF/XML]] と互換性がなく、 [[RSS 1.0]] で使うことはできません。
-[411] [[Atom]] の要素を使っている
-- [CITE[@IT]] ([TIME[2008-11-11 13:26:42 +09:00]] 版) <http://rss.rssad.jp/rss/itmatmarkit/rss2dc.xml?rss>
は [[RSS 1.0]] [CODE(XMLe)@en[[[channel]]]] [[要素]]の中に
[PRE(XML bad code)[
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="http://rss.rssad.jp/rss/itmatmarkit/rss2dc.xml" type="application/rss+xml"/>
]PRE]
と [[Atom]] の[[要素]]を含んでいますが、これは [[RDF/XML]] として正しくありません。
-- [CITE[マイコミジャーナル パソコン]] ([TIME[2008-11-21 21:32:54 +09:00]] 版) <http://feedproxy.google.com/haishin/rss/pc>
は [[Atom]] [CODE(XMLe)@en[[[link]]]] [[要素]]を含んでいますが、これは [[RDF/XML]]
として正しくありません。
-[412] [CODE(XMLe)@en[feedburner:[[feedFlare]]]] [[要素]]を使っている
-- [CITE[マイコミジャーナル パソコン]] ([TIME[2008-11-21 21:32:54 +09:00]] 版) <http://feedproxy.google.com/haishin/rss/pc>
はこの[[要素]]を含んでいますが、これは [[RDF/XML]]
として正しくありません。
''改善方法''
- [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]]]] を正しく指定する。
** [92] HTML が使えない場所で HTML を使っている
- [CODE(XMLe)@en[[QN[atom:[[title]]][http://www.w3.org/2005/Atom]]]]
や [CODE(XMLe)@en[[QN[atom:[[summary]]][http://www.w3.org/2005/Atom]]]]
のような [CODE(XMLa)@en[[[type]]]] [[属性]]を省略すると
[[HTML]] としては解釈されない場所で[[文字実体参照]]を使った[[フィード]]があります
- [[Movable Type]] が生成する [[Atom]] [[フィード]]がこれ??
-- [CODE(XML)@en[<generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.31-ja</generator>]]
な [[Atom]] [[フィード]]で
[CODE(XML)@en[<title><![CDATA[・・・&・・・]]></title>]] のように[[文字参照]]を
[[CDATA区間]]内で使おうとしている例を見かけました。
- ''改善方法''
-- [93] [CODE(XMLa)@en[[[type]]]] [[属性]]を正しく指定する
(最善解)
-- [94] [CODE(XMLa)@en[[[type]]]] [[属性]]を省略したら[[平文]]を使う
** [99] なぜか [CODE(MIME)@en[[[text/plain]]]]
- ''改善方法''
-- [100] [CODE(MIME)@en[[[application/atom+xml]]]] や
[CODE(MIME)@en[[[application/rss+xml]]]] を使う
** [101] なぜか [CODE(MIME)@en[[[text/html]]]]
- ''改善方法''
-- [102] [CODE(MIME)@en[[[application/atom+xml]]]] や
[CODE(MIME)@en[[[application/rss+xml]]]] を使う
** [413] Atom なのになぜか [CODE(MIME)@en[[[application/rss+xml]]]]
- しかも[[URL]]の[[拡張子]] も [[.rss]] だったり
-[105] '''多重 escape されていたり、HTML タグが使われていたりする'''
-- [[RSS 2.0]] では、 [CODE(XMLe)@en[[[description]]]] ''以外''の文字列を含む[[要素]]
([CODE(XMLe)@en[[[title]]]]) の内容は[[平文]]であって、 [[HTML]]
ではありません。
--- [[RSS 2.0]] 仕様書では規定が曖昧ですが、[[RSS Best Practices Profile]] により明確化されています。
-- ただ、現実には [[HTML]] として解釈する実装も存在するので、
[[タグ]]や[[文字参照]]のように見える文字列が含まれているときは危険です。
[[RSS Best Practices Profile]] は[[文字参照]]の使用を勧めています。
-- ''改善方法''
---[106] 多重 escape せず、 [[HTML]] [[タグ]]も使わない
** [107] escape が足りない
- [[RSS 2.0]] では、 [CODE(XMLe)@en[[[description]]]]
[[要素]]の[[内容]]は [[HTML]] とみなされます
([[ソース・コード]]・レベルで見ると、1重 escape された [[HTML]])。
-- [[RSS 2.0]] 仕様書では規定が曖昧ですが、[[RSS Best Practices Profile]] により明確化されています。
- [[XML]] として必要な [[escape]] がされていない [[RSS]] [[フィード]]も存在します。
- ''改善方法''
-- [108] [[HTML]] として解釈した時に適切であるように、
[[ソース・コード]]・レベルで見たときに丁度1回だけ escape
されているように見えるようにする。
** [414] [CODE(XMLe)@en[atom:content]] 要素が複数個ある
- [415] [[W3C]] の[[メーリング・リスト]]・アーカイブの [[Atom]] [[フィード]]は、
[CODE(XMLe)@en[[[atom:entry]]]] [[要素]]内に [CODE(XMLe)@en[[[atom:content]]]]
[[要素]]が2つ ([[XHTML]] と[[平文]]) 入っています。
- [416] [[Atom 1.0]] によれば高々1つしか入れることはできません。
** [109] 日付形式が正しくない
-[417] [[RSS 2.0]] の日付は [[RFC 822の日付形式]]でなければなりません。
--[418] ただし、 [[RSS Best Practices Profile]] によると、
[[4桁年号]]を使うことができます。
-- [419] [[RFC 822]] によると時・分・秒は2桁の数でなければなりませんが、
1桁の数となっている[[フィード]]もあります。
-''改善方法''
--[110] [[RFC 822]] に従う
- [420] [[W3C]] の[[メーリング・リスト]]・アーカイブの [[Atom]] [[フィード]]は壊れたタイムスタンプが含まれていることがあります。
[PRE(XML bad example code)[
<updated>2012-09-02T15:14:49-0700(PD:T)</updated>
]PRE]
- [421] [CODE(XMLe)@en[[[dc:date]]]] の中身が [[W3C-DTF]] のようでありながら[[時間帯]]が抜けていることがあります。
-[112] '''空要素が含まれている'''
-- 例えば、 [CITE[2008: Hitachi Security Information RSS Feed]] ([TIME[2008-10-24 00:08:51 +09:00]] 版) <http://www.hitachi.co.jp/hirt/security/index.rdf>
([[RSS 1.0]]) は [CODE(XML example)[<dcterms:issued />]],
[CODE(XML example)[<description />]], [CODE(XML example)[<dc:identifier />]]
のように意味を成さない[[空要素]]を含んでいます。
-- 例えば、[CITE[@IT]] ([TIME[2008-11-11 13:26:42 +09:00]] 版) <http://rss.rssad.jp/rss/itmatmarkit/rss2dc.xml?rss>
([[RSS 1.0]]) は [CODE(XML example)@en[<dc:[[subject]]/>]] や [CODE(XML example)@en[<dc:[[creator]]/>]]
のように意味を成さない[[空要素]]を含んでいます。
-- [[RSS 1.0]] や [[Dublin Core]] の仕様が曖昧なため、仕様違反と断定はできませんが、
無意味、あるいは有害かもしれません。
-[113] '''本文を一般的でない形式でのみ提供している'''
-- [[ブログ]]の[[フィード]]から参照している外部の内容が、
一般的でない (その[[著者]]の独自[[スキーマ]]の) [[XML]] [[文書]]で、
[[HTML]] に変換するための [[XSLT]] [[スタイル・シート]]の指定すらなかったりすることがあります。
-- (少なくても[[フィード]]が [[Atom 1.0]] の場合は) 仕様上問題ありません。
-- しかし、広く一般の読者に対して[[フィード・リーダー]]で読み取るために提供している[[フィード]]であるとしたら、
[[相互運用性]]の低い形式で本文を提供しても意味がありません。
-- [[著者]]が編集用に使っている独自形式やマイナーな形式の[[文書]]がある場合、
それを[[フィード]]内に示しておくと何か便利な使われ方がもしかするとあるかもしれませんが、
それはそれ、 [[HTML]] 等の一般的な形式の内容も別途用意しておくべきです。
--''改善方法''
---[114] [[HTML]] や[[平文]]のような一般的な形式を使う。
---[115] [[HTML]] や[[平文]]のような一般的な形式も用意する。
[[#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
-[103] '''フィードがなくなる'''
--ある時存在した[[フィード]]が、いつの間にか [CODE(HTTP)[[[404]]]] になっていたり、
[[鯖]]ごとなくなっていたりします。
-- これはもう致し方ないですね[AA[orz]]
-- ''改善方法''
---[[フィード]]の [[URL]] を変更しない (最善解)
---新しい [[URL]] へ[[リダイレクト]]する
---[[フィード]]配信を取りやめる場合、 [CODE(HTTP)@en[[[410]] Gone]]
[[応答]]を返す
[[#comment]]
* メモ
[FIG(quote)[
[FIGCAPTION[
[17] [CITE@ja[ScalaでRSSフィードの処理を書いてみたら思ったより大変でした - argius note]]
([TIME[2016-01-07 17:37:05 +09:00]] 版)
<http://argius.hatenablog.jp/entry/20130830/1377867921>
]FIGCAPTION]
> RSS2.0の日付もRFC 3339になっているケースが割とありました。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[27] [CITE@ja[ScalaでRSSフィードの処理を書いてみたら思ったより大変でした - argius note]]
([TIME[2016-01-07 17:37:20 +09:00]] 版)
<http://argius.hatenablog.jp/entry/20130830/1377867921>
]FIGCAPTION]
> 日本語("2013年08月30日(金)" みたいになってる)で来てしまうものもあったりしました。
]FIG]