/
558.txt
195 lines (144 loc) · 11.1 KB
/
558.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
[1] [CODE(XMLe)@en[[[content:encoded]]]] [[要素]]は、[[エントリー]]の [[HTML]]
による表現を含んでいます。 [CODE(XMLe)@en[[[description]]]] [[要素]]が要約や説明だけであるのに対し、
[CODE(XMLe)@en[[[content:encoded]]]] [[要素]]は全文であるのが普通です。
[12] この[[要素]]は [[RSS 1.0]] でも [[RSS 2.0]] でも用いられています。
* 仕様書
- [11] [CITE[RDF Site Summary 1.0 Modules: Content]] ([TIME[2002-10-14 07:00:04 +09:00]] 版) <http://web.resource.org/rss/1.0/modules/content/#syntax2>
- [10] [CITE@en[RSS Best Practices Profile]] ([TIME[2008-11-21 15:11:45 +09:00]] 版) <http://www.rssboard.org/rss-profile#namespace-elements-content-encoded>
* 意味
** RSS 1.0 における意味
[16] 項目の[[内容]]です [SRC[>>11]]。
** RSS 2.0 における意味
[2]
[CODE(XMLe)@en[content:[[encoded]]]] [[要素]]は、 [CODE(XMLe)@en[[[item]]]]
の完全な内容を表します。 [[RSS 2.0]] の [CODE(XMLe)@en[[[description]]]]
は完全な内容でも、要約でも構わないことになっています。
[SRC@en[[[RSS Best Practices Profile]]]] ですから、
完全な内容であることを明確にしたい時や要約と両方を含めたいときには
[CODE(XMLe)@en[content:encoded]] が有用です。
* 構文
[13] [[XML名前空間]]的には、
- [[名前空間接頭辞]] [CODE(XML)@en[[[content]]]]
- [[名前空間URL]] [CODE(URI)@en[[[http://purl.org/rss/1.0/modules/content/]]]]
... です。
[14] [[XML名前空間]]仕様上は[[名前空間接頭辞]]は[[著者]]が自由に決められますが、
実際上は [[XML名前空間]]を仕様通りに処理しない[[利用者エージェント]]が存在しているので、
出力時には常に [CODE(XML)@en[[[content]]]] を使うべきです。
[15] もしかすると、入力時には[[名前空間属性]]が無くても理解できるようにする必要があるかもしれません。
* 内容
[17] この[[要素]]は [[HTML]] を[[内容]]として持つことが期待されているはずですが、
仕様上は明記されていません。単に構文的に [[CDATA区間]]または[[実体参照]]を使う
[SRC[>>11]] と述べて [[HTML]] を含めた例文を載せているに過ぎません。
[3] [CODE(XMLe)@en[[[item]]]] [[要素]]の[[子要素]]の
[CODE(XMLe)@en[[[description]]]] [[要素]]と同様に、
[[HTML]] として適切な[[文字データ]]でなければ[['''なりません''']]
[SRC@en[[[RSS Best Practices Profile]]]]。 ([[escaped markup]])
[18] どの仕様書にも明記されていませんが、慣習的には[[フロー内容]]を含められると理解されています。
* 実装
[4] [[RSS Best Practices Profile]] によれば、すべての[[集積器]]がこの[[要素]]を[[項目]]の内容として扱うようです。
;; ただし、 題名しか表示しない [[Firefox]] を除きます。
[5]
[CODE(XMLe)@en[[[description]]]] を要約とする使い方に対応しているのは
[[Bloglines]] だけでした [SRC@en[[[RSS Best Practices Profile]]]]。
[6] 8つ中6つの[[集積器]]は、 [CODE(XMLe)@en[content:[[encoded]]]] を表示し、
[CODE(XMLe)@en[[[description]]]] を無視しました。
[[FeedDemon]] は [CODE(XMLe)@en[[[item]]]] [[要素]]中の最後の[[要素]]を表示しました。
([[Firefox 2.0]] は [CODE(XMLe)@en[[[description]]]] に対応していませんでした。)
[SRC@en[[[RSS Best Practices Profile]]]]
[7] [[フィード]]中に要約を含めない場合には、完全な内容には [CODE(XMLe)@en[content:[[encoded]]]]
よりもより多く実装されている [CODE(XMLe)@en[[[description]]]] を使う[['''べきです''']]
[SRC@en[[[RSS Best Practices Profile]]]]。
[8] [[フィード]]中に要約を含める場合には、完全な内容には [CODE(XMLe)@en[content:[[encoded]]]]
を使い、要約に [CODE(XMLe)@en[[[description]]]] を使う[['''べきです''']]
[SRC@en[[[RSS Best Practices Profile]]]]。
[26] [[SmartNews]] は、 [CODE(XMLe)@en[content:encoded]] [[要素]]の[[内容]]が
[[CDATA区間]]でないとき、エラーを表示します。
[TIME[2016-09-27T02:29:00.600Z]]
* 歴史
[21] [[RSS 1.0]] の中の人達は [[RDF]] 志向で (それがそもそも仕様の策定の背景になっているわけですが)、
[[mod_content]] も当初案では [[RDF/XML]] でメタ情報をきっちり埋め込める複雑な仕様でした。
一度はそれが [[RSS-DEV]] で[[標準]]とされましたが、そちらは普及せず、改めて
[CODE(XMLe)@en[[[content:encoded]]]] [[要素]]が仕様化されました。
[CODE(XMLe)@en[[[content:encoded]]]] 版の仕様はとうとう正式に[[標準]]となりませんでしたが、
[[RSS 1.0]] でも [[RSS 2.0]] でも実質的な標準として使われています。
それを踏まえて [[RSS Best Practices Profile]] に [[RSS 2.0]]
における用法がまとめられています。
[19] [[escaped markup]] によって [[HTML]] を含めることには議論がありました。
それを踏まえて設計されている [[Atom]] では [[escaped markup]] による [[HTML]] の埋め込みと
[[XML名前空間]]を使った [[XHTML]] 埋め込みの両方に対応しています。
[20] 世の中のすべてが [[XML]] になると錯覚した人もいたくらいの当時の情勢の中では
[[escaped markup]] に過剰に拒否反応があったことも理解できなくはないですが、
今振り返ってみると、緩い構文の [[HTML]] を [[draconian]] な [[XML]]
に埋め込むためには [[escaped markup]] が一番妥当な解だったのではないでしょうか。
もし [[XHTML]] として埋め込むことが強制されていたら、現実世界以上に大量に非[[整形式]]な [[RSS]]
[[文書]]が生み出されていたかもしれません。
* 例
[9] [[RSS 1.0]] の例です。
[PRE(XML example code)[
<item rdf:about="http://www.wdic.org/w/CUL/%E3%81%8B%E3%81%9F%E3%82%8F;from=rss">
<title>かたわ</title>
<link>http://www.wdic.org/w/CUL/%E3%81%8B%E3%81%9F%E3%82%8F;from=rss</link>
<description>第01位(115)</description>
<content:encoded><![CDATA[
<p>第01位(115)</p>
<p>片端。体の一部が欠落するなど、完全でな...
</p>
]]></content:encoded>
<dc:subject>CUL</dc:subject>
<dc:date>2008-11-22T00:00+09:00</dc:date>
</item>
]PRE]
;; [CITE[人気検索語TOP50 - 通信用語の基礎知識]] ([TIME[2008-11-23 23:08:29 +09:00]] 版) <http://www.wdic.org/rss/top50.rss>
[CODE(XMLe)@en[[[description]]]] には要約が入っていますが、
[CODE(XMLe)@en[[[content:encoded]]]] には全文が入っておらず、
要約よりは長いものの途中で切られています。
[FIG(quote)[
[FIGCAPTION[
[22] ([TIME[2016-03-18 23:38:14 +09:00]] 版)
<http://burusoku-vip.com/index.rdf>
]FIGCAPTION]
>
> <description>
> 1: 風吹けば名無し@\(^o^)/ 2016/03/18(金) 11:26:43.46 ID:wuhmO9b2x.net 理由がわからん 自然が好きなん? 人多いのが嫌いなん? 引用元:http://tomcat.2ch.sc/test/read.cgi/livejupiter/1458268003/
> </description>
> <dc:creator>yamasitakenken</dc:creator>
> <dc:date>2016-03-18T23:00:41+09:00</dc:date>
> <dc:subject>なんJ</dc:subject>
> <content:encoded>
> <!'''['''CDATA'''['''
> <div class="t_h"><div align="center"><a target="_blank" title="no title" href="http://livedoor.blogimg.jp/plusmicro26/imgs/c/a/ca68bdad.jpg"><br /><br /><br /><img class="pict" hspace="5" alt="no title" border="0" height="300" width="400" src="http://livedoor.blogimg.jp/plusmicro26/imgs/c/a/ca68bdad-s.jpg"></a></div><br /><br /><br /><br />1: <span style="color: green;">風吹けば名無し@\(^o^)/</span> 2016/03/18(金) 11:26:43.46 <em class="specified" style="color: #ff0000; background-color: #dddddd; font-weight: bold;">ID:wuhmO9b2x.net</em></div> <div style="font-weight:bold;font-size:24px;line-height:36px;color:#0000cd;margin-bottom:100px;margin-top:5px;" class="t_b"> 理由がわからん <br /> 自然が好きなん? <br /> 人多いのが嫌いなん? </div><br /> <div align="right"><a target="”_blank”" href="http://tomcat.2ch.sc/test/read.cgi/livejupiter/1458268003/"><span style="color: rgb(204, 204, 204);">引用元:http://tomcat.2ch.sc/test/read.cgi/livejupiter/1458268003/</span></a></div> <!-- Generated by 2chまとめくす (http://2mtmex.com/) --> <a href="http://burusoku-vip.com/archives/1779714.html">続きを読む</a> <img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3268410&name=plusmicro26&pid=1779714" width="1" height="1" />
> ''']'''''']'''>
> </content:encoded>
]FIG]
[FIG(quote)[
[FIGCAPTION[
[23] ([TIME[2016-03-18 23:52:46 +09:00]] 版)
<http://feeds.feedburner.com/hatena/b/hotentry>
]FIGCAPTION]
> <description>
> ドワンゴは、イタリア・ローマのDigitalVideo社が独自開発したアニメーション制作ソフト「Toonz」を買収し、オープンソースソフトウェア「OpenToonz」を3月26日より公開すると発表しました。 この買収により、ドワンゴは「Toonz」を元にしたオープンソースプラットフォーム「OpenToonz」を開発。同ソフトは無償かつ誰でも改良できるソフトとして公開されます。 「OpenToonz...
> </description>
> <content:encoded>
> <!'''['''CDATA'''['''
> <blockquote cite="http://www.inside-games.jp/article/2016/03/18/97002.html" title="ジブリで使用されているアニメ制作ソフト「Toonz」の無償公開が決定!ドワンゴがオープンソース化、両社独自の機能も実装 | インサイド"><cite><img src="http://cdn-ak.favicon.st-hatena.com/?url=http%3A%2F%2Fwww.inside-games.jp%2F" alt="" /
]FIG]
[FIG(quote)[
[FIGCAPTION[
[24] ([TIME[2016-03-18 23:52:46 +09:00]] 版)
<http://feeds.feedburner.com/hatena/b/hotentry>
]FIGCAPTION]
> インサイド" border="0" style="border: none" /></a> <a href="http://b.hatena.ne.jp/append?http://www.inside-games.jp/article/2016/03/18/97002.html"><img src="http://b.hatena.ne.jp/images/append.gif" border="0" alt="はてなブックマークに追加" title="はてなブックマークに追加" /></a></p></blockquote><img src="http://feeds.feedburner.com/~r/hatena/b/hotentry/~4/jiaZ1DQIXl4" height="1" width="1" alt=""/>
> ''']'''''']'''>
> </content:encoded>
]FIG]
[FIG(quote)[
[FIGCAPTION[
[25] [CITE@en[SmartFormat]]
([TIME[2016-03-18 17:03:22 +09:00]] 版)
<https://www.smartnews.com/smartformat/ja/>
]FIGCAPTION]
> 使用可能なHTMLタグ
> content:encoded
> a, abbr, acronym, address, article, aside, b, base, basefont, bdi, bdo, bgsound, big, blink, blockquote, body, br, caption, center, cite, code, col, colgroup, command, data, datalist, dd, del, details, dfn, dir, div, dl, dt, em, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, i, img, ins, kbd, label, legend, li, listing, main, mark, marquee, menu, meter, nav, nobr, ol, p, plaintext, pre, q, rb, rp, rt, ruby, s, samp, section, small, spacer, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, wbr, xmp
>
]FIG]