content:encoded

content:encoded

[1] content:encoded 要素は、エントリーHTML による表現を含んでいます。 description 要素が要約や説明だけであるのに対し、 content:encoded 要素は全文であるのが普通です。

[12] この要素RSS 1.0 でも RSS 2.0 でも用いられています。

仕様書

意味

RSS 1.0 における意味

[16] 項目の内容です >>11

RSS 2.0 における意味

[2] content:encoded 要素は、 item の完全な内容を表します。 RSS 2.0description は完全な内容でも、要約でも構わないことになっています。 RSS Best Practices Profile ですから、 完全な内容であることを明確にしたい時や要約と両方を含めたいときには content:encoded が有用です。

構文

[13] XML名前空間的には、

... です。

[14] XML名前空間仕様上は名前空間接頭辞著者が自由に決められますが、 実際上は XML名前空間を仕様通りに処理しない利用者エージェントが存在しているので、 出力時には常に content を使うべきです。

[15] もしかすると、入力時には名前空間属性が無くても理解できるようにする必要があるかもしれません。

内容

[17] この要素HTML内容として持つことが期待されているはずですが、 仕様上は明記されていません。単に構文的に CDATA区間または実体参照を使う >>11 と述べて HTML を含めた例文を載せているに過ぎません。

[3] item 要素子要素description 要素と同様に、 HTML として適切な文字データでなければなりません RSS Best Practices Profile。 (escaped markup)

[18] どの仕様書にも明記されていませんが、慣習的にはフロー内容を含められると理解されています。

実装

[4] RSS Best Practices Profile によれば、すべての集積器がこの要素項目の内容として扱うようです。

ただし、 題名しか表示しない Firefox を除きます。

[5] description を要約とする使い方に対応しているのは Bloglines だけでした RSS Best Practices Profile

[6] 8つ中6つの集積器は、 content:encoded を表示し、 description を無視しました。 FeedDemonitem 要素中の最後の要素を表示しました。 (Firefox 2.0description に対応していませんでした。) RSS Best Practices Profile

[7] フィード中に要約を含めない場合には、完全な内容には content:encoded よりもより多く実装されている description を使うべきです RSS Best Practices Profile

[8] フィード中に要約を含める場合には、完全な内容には content:encoded を使い、要約に description を使うべきです RSS Best Practices Profile

[26] SmartNews は、 content:encoded 要素内容CDATA区間でないとき、エラーを表示します。

歴史

[21] RSS 1.0 の中の人達は RDF 志向で (それがそもそも仕様の策定の背景になっているわけですが)、 mod_content も当初案では RDF/XML でメタ情報をきっちり埋め込める複雑な仕様でした。 一度はそれが RSS-DEV標準とされましたが、そちらは普及せず、改めて content:encoded 要素が仕様化されました。 content:encoded 版の仕様はとうとう正式に標準となりませんでしたが、 RSS 1.0 でも RSS 2.0 でも実質的な標準として使われています。 それを踏まえて RSS Best Practices ProfileRSS 2.0 における用法がまとめられています。

[19] escaped markup によって HTML を含めることには議論がありました。 それを踏まえて設計されている Atom では escaped markup による HTML の埋め込みと XML名前空間を使った XHTML 埋め込みの両方に対応しています。

[20] 世の中のすべてが XML になると錯覚した人もいたくらいの当時の情勢の中では escaped markup に過剰に拒否反応があったことも理解できなくはないですが、 今振り返ってみると、緩い構文の HTMLdraconianXML に埋め込むためには escaped markup が一番妥当な解だったのではないでしょうか。 もし XHTML として埋め込むことが強制されていたら、現実世界以上に大量に非整形式RSS 文書が生み出されていたかもしれません。

[9] RSS 1.0 の例です。

<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><!
<p>第01位(115)</p>
<p>片端。体の一部が欠落するなど、完全でな...
</p>
></content:encoded>
<dc:subject>CUL</dc:subject>
<dc:date>2008-11-22T00:00+09:00</dc:date>
</item>

description には要約が入っていますが、 content:encoded には全文が入っておらず、 要約よりは長いものの途中で切られています。

[22] ( 版) <http://burusoku-vip.com/index.rdf>

<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>

[23] ( 版) <http://feeds.feedburner.com/hatena/b/hotentry>

<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="" /

[24] ( 版) <http://feeds.feedburner.com/hatena/b/hotentry>

インサイド" 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>

[25] SmartFormat ( 版) <https://www.smartnews.com/smartformat/ja/>

使用可能な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