* [CODE(XMLe)@en[atom:content]] 要素 (Atom 1.0)

[13] [[Atom 1.0]] の [DFN[[CODE(XMLe)@en[atom:content]] [[要素]]]]は、
[[エントリー]]の[[内容]]を含むか、[[内容]]に[[リンク]]します [SRC@en[[[RFC 4287]] 4.1.3.]]。

[10] 
:[[要素名]]:[CODE(XMLe)@en[[[atom:content]]]] (「[[content]]」 (「[[内容]]」) より)
:文脈:[CODE(XMLe)@en[[[atom:entry]]]] の[[子要素]]として
:[[内容モデル]]:[CODE(XMLa)@en[[[type]]]] [[属性]]に依存
:[[属性]]:
- [CODE(XMLa)@en[[[src]]]]
- [CODE(XMLa)@en[[[type]]]]

** 仕様書

-[9] [CITE@en[RFC 4287 - The Atom Syndication Format]] ([[IETF]] [[提案標準]])
--<http://tools.ietf.org/html/rfc4287#section-4.1.1.1>
--<http://tools.ietf.org/html/rfc4287#section-4.1.2>
--'''<http://tools.ietf.org/html/rfc4287#section-4.1.3>'''
-[6] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([[IETF]] [[提案標準]])
-- <http://tools.ietf.org/html/rfc5023#section-9.6>

** 意味

[14] [CODE(XMLe)@en[[[atom:content]]]] [[要素]]の[[内容]]は [[Language-Sensitive]]
です [SRC@en[[[RFC 4287]] 4.1.3.]]。

** 文脈

[11] [CODE(XMLe)@en[[[atom:content]]]] [[要素]]は
[CODE(XMLe)@en[[[atom:entry]]]] [[要素]]の[[子要素]]として高々1つ使用できます
[SRC@en[[[Atom 1.0]] 4.1.2.]]。

*** AtomPub での使用

[7] [[集成]]に[[媒体資源]]が [CODE(HTTP)@en[[[POST]]]] された場合に作成される[[媒体リンク・エントリー]]は、
[CODE(XMLe)@en[atom:[[content]]]] [[要素]]を含まなければなりません [SRC@en[[[AtomPub]]]]。

** 内容と属性

[78] [[Atom文書]]や [[Atom処理器]]は次の規則に従わなければなりません
[SRC@en[[[Atom 1.0]] 4.1.3.3.]]。

= [72] [CODE(XMLa)@en[[[type]]]] [[属性値]]が [CODE(XML)@en[[[text]]]]
の場合: 
-- [CODE(XMLa)@en[src]] [[属性]]があっては[MUST[なりません]]。
-- '''内容''': [[内容]]は[[子要素]]を含んでは[['''なりません''']]。
-- '''意味''': [[テキスト]]は[[人間]]に対して可読な形で示されることを意図しています。
-- '''レンダリング''': [[Atom処理器]]は[[空白]] ([[改行]]を含みます。)
を結合したり、[[両端揃え]]、[[可変幅フォント]]その他の写植技術を用いた表示を行ったりして[['''構いません''']]。
= [73] [CODE(XMLa)@en[[[type]]]] [[属性値]]が [CODE(XML)@en[[[html]]]]
の場合:
-- [CODE(XMLa)@en[src]] [[属性]]があっては[MUST[なりません]]。
-- '''内容''': [[内容]]は[[子要素]]を含んではなりません。 [[HTML 4.01]]
としての処理に適切なものである[['''べきです''']]。 [[escaped markup]]
でなければ[['''なりません''']]。 [CODE(HTMLe)@en[[[div]]]]
[[要素]]中に[[妥当]]なものとして直接出現可能である[['''べきです''']]。
-- '''レンダリング''': [[Atom処理器]]は表示に当たって[[マーク付け]]の情報を使って[['''構いません''']]。
= [74] [CODE(XMLa)@en[[[type]]]] [[属性値]]が [CODE(XML)@en[[[xhtml]]]]
の場合:
-- [CODE(XMLa)@en[src]] [[属性]]があっては[MUST[なりません]]。
--'''内容''': [[内容]]は[[XHTML m12n 1.0]] [CODE(HTMLe)@en[[[div]]]] [[要素]]1つでなければ[['''なりません''']]。
[[XHTML]] としての処理に適切なものである[['''べきです''']]。
[[escape]] は[[文字]]自体を表し、[[マーク付け]]ではありません。
-- '''意味''': [CODE(XMLe)@en[[[div]]]] [[要素]]自体は[[内容]]の一部と解釈しては[['''なりません''']]。
-- '''レンダリング''': [[Atom処理器]]は表示に当たって[[マーク付け]]の情報を使って[['''構いません''']]。
= [75] [CODE(XMLa)@en[[[type]]]] [[属性値]]が [[RFC 3023]] [[XML媒体型]]である場合や
[CODE(MIME)@en[[[+xml]]]] で終わる場合や [CODE(MIME)@en[[[/xml]]]] で終わる場合
([[大文字・小文字不区別]]):
-- [CODE(XMLa)@en[src]] [[属性]]を使うことができます。
--'''内容''': [[内容]]は[[子要素]]を含んで[['''構いません''']]。指定された[[媒体型]]としての処理に適切なものである[['''べきです''']]。
--- [CODE(XMLa)@en[[[src]]]] [[属性]]がない場合、通常これは
[[子要素]]を1つ含み、それが指定された[[媒体型]]の [[XML文書]]の[[根要素]]となることを意味します。
= [76] [CODE(XMLa)@en[[[type]]]] [[属性値]]が [CODE(MIME)@en[[[text/]]]]
から始まる場合 ([[大文字・小文字不区別]]):
-- [CODE(XMLa)@en[src]] [[属性]]を使うことができます。
--'''内容''': [[内容]]は[[子要素]]を含んでは[['''なりません''']]。
= [77] [CODE(XMLa)@en[[[type]]]] [[属性値]]がそれ以外の場合:
--'''内容''': [[内容]]は[[妥当]]な [[RFC 3548]] [[Base64]] [[符号化]]でなければ[['''なりません''']]。
[[復号]]結果は指定された[[媒体型]]として適切である[['''べきです''']]。
[[Base64]] [[符号化]]文字列の前後に[[空白]]があっても[['''構いません''']]。
行は[[改行]] ([CODE(char)[[[U+000A]]]]) により区切ります。

[8] [CODE(XMLe)@en[[[atom:entry]]]] [[要素]]に [CODE(XMLe)@en[[[atom:content]]]]
[[要素]]を含める場合、[[空]]でない方が経験的に有用でよいとされています。
また、含めない場合には [CODE(XMLe)@en[[[atom:summary]]]] [[要素]]を含めるのがよいとされています。
[SRC@en[[[Atom 1.0]] 4.1.1.1.]]

[71] [CODE(XMLa)@en[[[src]]]] [[属性]]が存在する場合には、
[CODE(XMLe)@en[[[atom:content]]]] [[要素]]は[[空]]でなければ[['''なりません''']]
[SRC@en[[[RFC 3987]] 4.1.3.2.]]。

*** AtomPub での使用

[15] 
>>7 の [CODE(XMLe)@en[atom:[[content]]]] [[要素]]は、 [CODE(XMLa)@en[[[src]]]] [[属性]]を含まなければなりません。
その[[属性値]]は作成された[[媒体資源]]の [[IRI]] でなければなりません。
[SRC@en[[[AtomPub]]]]

** 歴史

[22] [[Atom 0.3]] では [CODE(XMLe)@en[[[atom:content]]]] [[要素]]は独自の[[内容モデル]]ではなく、
[[Content construct]] (現、[[Text construct]]) でした。

** 例

[79] [SRC@en[[[RFC 3987]] 4.1.3.4.]]
[PRE(XML example code)[
   <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
         This is <b>XHTML</b> content.
      </div>
   </content>
   ...
   <content type="xhtml">
      <xhtml:div xmlns:xhtml="http://www.w3.org/1999/xhtml">
         This is <xhtml:b>XHTML</xhtml:b> content.
      </xhtml:div>
   </content>
   ...
]PRE]

[80] [SRC@en[[[RFC 3987]] 4.1.3.4.]]
[PRE(XML example code)[
   ...
   <content type="xhtml">
      <xh:div>
         This is <xh:b>XHTML</xh:b> content.
      </xh:div>
   </content>
   ...
]PRE]

** 関連

[12] [CODE(XMLe)@en[[[atom:content]]]] [[要素]]の存在は
[CODE(XMLe)@en[[[atom:link]]]] [[要素]]や
[CODE(XMLe)@en[[[atom:summary]]]] [[要素]]が必須であるか否かにも関係します。
詳しくはそれぞれの項をご覧ください。

* [CODE(XMLe)@en[atom:content]] 要素 (Atom 0.3)

[1] [[Atom 0.3]] の
[DFN[[CODE(XMLe)@en[atom:content]] [[要素]]]]は、
[[エントリー]]の[[内容]]を表します [SRC@en[[[Atom 0.3]]]]。

:状態:[[廃止]] → [[Atom 1.0]] [CODE(XMLe)@en[atom:[[content]]]]
:[[局所名]]:[CODE(XMLe)@en[[[content]]]]
:文脈:[CODE(XMLe)@en[atom:[[entry]]]] の[[子要素]]として
:[[内容モデル]]:[[Content construct]]
:[[属性]]:[CODE(XMLa)@en[[[mode]]]]、[CODE(XMLa)@en[[[type]]]]

仕様書:
[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] ([TIME[2006-12-22 17:03:44 +09:00]] 版) <http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.4.13.10>

** 内容

[2] この[[要素]]は [[Content construct]] です [SRC@en[[[Atom 0.3]]]]。

** 文脈

[3]
この[[要素]]は [CODE(XMLe)@en[atom:[[entry]]]] [[要素]]の[[子要素]]として零個以上使うことができます
[SRC@en[[[Atom 0.3]]]]。

** 属性

[4] 
[CODE(XMLa)@en[[[type]]]] が [CODE(MIME)@en[[[multipart/alternative]]]] の場合、
[CODE(XMLa)@en[[[mode]]]] は指定しては[['''なりません''']]。その場合、
[CODE(XMLe)@en[[[content]]]] [[要素]]は1つ以上の
[CODE(XMLe)@en[[[content]]]] [[要素]]を含まなければ[['''なりません''']]。
それら[[子]] [CODE(XMLe)@en[[[content]]]] [[要素]]は
[CODE(XMLe)@en[[[content]]]] [[要素]]は
[CODE(XMLa)@en[[[type]]]] を [CODE(MIME)@en[[[multipart/alternative]]]]
にしては[['''なりません''']]。 [SRC@en[[[Atom 0.3]]]]

** レンダリング

[5] >>4 の場合、複数の [CODE(XMLe)@en[[[content]]]] の中からどれが適切かを、
そのすべてから、対応している形式や[[利用者]]の設定を鑑みて決定する[['''べき''']]であり、
複数をレンダリングする[['''べきではありません''']]。
[SRC@en[[[Atom 0.3]]]]

* [CODE(XMLe)@en[atom:content]] 要素 [CODE(XMLa)@en[type]] 属性 (Atom 1.0)

[16] [[Atom 1.0]] の [CODE(XMLe)@en[[[atom:content]]]] [[要素]]の
[DFN[[CODE(XMLa)@en[type]] [[属性]]]]は、[[内容]]の種類を表します。

[17] 
:[[要素]]:[CODE(XMLe)@en[[[atom:content]]]]
:[[属性名]]:[CODE(XMLa)@en[[[type]]]] (「[[type]]」 (「[[型]]」) より)
:[[データ型]]:[CODE(XML)@en[[[text]]]] | [CODE(XML)@en[[[html]]]] |
[CODE(XML)@en[[[xhtml]]]] | [[媒体型]]
:[[既定値]]:[CODE(XML)@en[[[text]]]]

** 仕様書

-[19] [[RFC 4287]] ([[IETF]] [[提案標準]])
--<http://tools.ietf.org/html/rfc4287#section-4.1.3.1>

** 意味

[70] >>69 の場合の [CODE(XMLa)@en[[[type]]]] [[属性値]]はヒントであって、
[[鯖]]が[[内容]]と共に[[媒体型]]の情報も提供する場合にはそちらが権威を持ちます
[SRC@en[[[RFC 3987]] 4.1.3.2.]]。

** 属性値

[18] [[属性値]]は次のいずれかでなければ[['''なりません''']] [SRC@en[[[RFC 4287]] 4.1.3.1.]]。
:[DFN[[CODE(XML)@en[[[text]]]]]]:
:[DFN[[CODE(XML)@en[[[html]]]]]]:
:[DFN[[CODE(XML)@en[[[xhtml]]]]]]:
:[[媒体型]]:
[[合成型]]であっては[['''なりません''']]。

[69] [CODE(XMLa)@en[[[src]]]] [[属性]]がある場合、
[CODE(XMLa)@en[[[type]]]] [[属性]]もある[['''べきです''']]。更に、
その[[属性値]]は [[MIME]] [[媒体型]]でなければ[['''なりません''']]
([CODE(XML)@en[[[text]]]]、[CODE(XML)@en[[[html]]]]、
[CODE(XML)@en[[[xhtml]]]] であってはなりません) [SRC@en[[[RFC 3987]] 4.1.3.2.]]。

** 既定値

[21] この[[属性]]の[[既定値]]は陽には定義されていません。

[20] [[Atom処理器]]は、 [CODE(XMLa)@en[[[type]]]] [[属性]]も 
[CODE(XMLa)@en[[[src]]]] [[属性]]も指定されていない場合、
[CODE(XMLa)@en[[[type]]]] が [CODE(XML)@en[[[text]]]]
であるかのように動作しなければ[['''なりません''']] [SRC@en[[[RFC 4287]] 4.1.3.1.]]。

** 関連

[23] [[Text construct]] にも似た [CODE(XMLa)@en[[[type]]]]
[[属性]]があります。


[81] [CITE[OData Protocol Atom Format]]
( ([TIME[2012-02-08 21:02:21 +09:00]] 版))
<http://www.odata.org/developers/protocols/atom-format>

[FIG(quote)[
[FIGCAPTION[
[24] ([TIME[2016-03-18 23:43:07 +09:00]] 版)
<http://burusoku-vip.com/atom.xml>
]FIGCAPTION]

> <content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://burusoku-vip.com/archives/1779669.html">
> <!'''['''CDATA'''['''
> <div class="t_h"><span><div align="center"><a href="http://livedoor.blogimg.jp/plusmicro26/imgs/d/e/de218102.png" title="fewttree" target="_blank"><br /><br /><br /><img src="http://livedoor.blogimg.jp/plusmicro26/imgs/d/e/de218102-s.png" width="400" height="265" border="0" alt="fewttree" hspace="5" class="pict"></a></div><br /><br /><br /><br />1: <span style="color: green;">以下、\(^o^)/でVIPがお送りします</span> <span> 2016/03/17(木) 06:29:00.824 <em class="specified" style="color: #ff0000; background-color: #ffffff; font-weight: bold;">ID:sPrudJe6d.net</em></span></span></div> <div style="font-weight:bold;font-size:24px;line-height:36px;color:#0000cd;margin-bottom:100px;margin-top:5px;" class="t_b"> おい社畜の俺に一言いってから寝ろよ </div><br /> <div align="right"><a target="”_blank”" href="http://viper.2ch.sc/test/read.cgi/news4vip/1458163740/"><span style="font-size: 12px; color: rgb(204, 204, 204);">引用元:http://viper.2ch.sc/test/read.cgi/news4vip/1458163740/</span></a></div> <!-- Generated by 2chまとめくす (http://2mtmex.com/) --> <a href="http://burusoku-vip.com/archives/1779669.html">続きを読む</a>
> ''']'''''']'''>
> </content>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[25] ([TIME[2016-03-19 00:38:49 +09:00]] 版)
<http://blog.excite.co.jp/editorcafe/atom.xml>
]FIGCAPTION]

>     <dc:subject>■耳より情報・キャンペーン</dc:subject>
>     <content type="html"><!'''['''CDATA'''['''寒くなったり、あたたかくなったり…。三寒四温という言葉どおり、3月は日によって寒暖差が激しいので、体調管理が難しいですね。みなさん、お変わりありませんか。
> 昨日は「3.11」のあの震災から5年を迎え、各地で追悼の祈りが捧げられましたが、私たちも、「いまだ不自由な暮らしをしている方々が、一日も早く安心して暮らせる日が来ますように…」と心から祈っています。
> さて、エキサイトブログではただいま「...''']'''''']'''></content>
>   </entry>

;; [26] [[Atom 0.3]] と見せかけて[[名前空間]]は [[Atom 1.0]] なので、
間違ってはいない。
]FIG]


[FIG(quote)[
[FIGCAPTION[
[27] ([TIME[2016-03-18 15:48:21 +09:00]] 版)
<http://info.cocolog-nifty.com/info/atom.xml>
]FIGCAPTION]

>     <content type="html" xml:lang="ja-JP" xml:base="http://info.cocolog-nifty.com/info/">
> &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;p&gt; &lt;img src=&quot;http://updates.cocolog-nifty.com/squares/users/3/32/326/326d31fd01d812b87e7507f460ca7b95dda70705/avatar/140x140.png?02101&quot; alt=&quot;アバタースタッフ&quot; title=&quot;アバタースタッフ&quot; style=&quot;width: 140px; height: 140px;&quot; /&gt;&lt;/p&gt;
> &lt;p&gt;こんにちは&lt;img class=&quot;emoticon sign01&quot; src=&quot;http://emojies.cocolog-nifty.com/emoticon/sign01.gif&quot; alt=&quot;sign01&quot; /&gt;&lt;a href=&quot;http://squares.cocolog-nifty.com/users/203852&quot;&gt;&lt;span style=&quot;color: #ff9900;&quot;&gt;アバタースタッフ&lt;/span&gt;&lt;/a&gt;です&lt;img class=&quot;emoticon happy01&quot; src=&quot;http://emojies.cocolog-nifty.com/emoticon/happy01.gif&quot; alt=&quot;happy01&quot; /&gt;&lt;/p&gt;

]FIG]


[FIG(quote)[
[FIGCAPTION[
[28] [CITE[はてなブログAtomPub - Hatena Developer Center]]
([TIME[2016-03-21 10:48:35 +09:00]] 版)
<http://developer.hatena.ne.jp/ja/documents/blog/apis/atom>
]FIGCAPTION]

> contentにははてなブログに登録されたシンタックスと解釈されたオリジナルな文面が記載されます
> type属性には以下の3つの値のいずれかが付与されます。
> text/html 見たままモード
> text/x-hatena-syntax はてな記法
> text/x-markdown マークダウン記法

]FIG]


[FIG(quote)[
[FIGCAPTION[
[29] [CITE[はてなダイアリーAtomPub - Hatena Developer Center]]
([TIME[2016-03-21 10:50:18 +09:00]] 版)
<http://developer.hatena.ne.jp/ja/documents/diary/apis/atom>
]FIGCAPTION]

> 
>   <content type="text/plain">
> 日記エントリー本文
> - はてな
> - 記法
>   </content>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[30] [CITE[はてなダイアリーAtomPub - Hatena Developer Center]]
([TIME[2016-03-21 10:51:27 +09:00]] 版)
<http://developer.hatena.ne.jp/ja/documents/diary/apis/atom>
]FIGCAPTION]

> 
>   <content type="text/html">
>                 &lt;div class="section"&gt;
>                         &lt;p&gt;あたらしい日記エントリー本文&lt;/p&gt;
>                         &lt;ul&gt;
>                                 &lt;li&gt; はてな&lt;/li&gt;
>                                 &lt;li&gt; 記法&lt;/li&gt;
>                         &lt;/ul&gt;
>                         &lt;p&gt;  &lt;/p&gt;
>                 &lt;/div&gt;
> </content>

]FIG]
