36

<description>タグと<content:encoded>RSS2.0形式の仕様 のタグの違いは何ですか?

一方が他方より重要ですか?

フィードで両方を使用する必要がありますか、それとも1つで十分ですか?

4

3 に答える 3

39

<description>タグは投稿の要約用ですが、プレーンテキストのみです。マークアップなし。

タグをエスケープするか、コンテンツを次のようにラップすると、これを回避できます。

<![CDATA[ post body goes <strong>here</strong> ]]>

しかし、あなたは実際にそれをすることになっているわけではありません

マークアップが必要な場合は、ここでとラッパー<content:encoded>を使用して使用することになっています。<![CDATA[]]>

このcontent:encoded要素を要素と組み合わせて使用​​するとdescription、アイテムの完全なコンテンツと短い要約を提供できます。このアプローチでは、アイテムの全文がに表示されcontent:encoded、要約がに表示されdescriptionます。

### RSSベストプラクティスプロファイル:content:encoded

要するに、<description>要約用であり、投稿の残りの部分はにあり<content:encoded>ます。

一部の読者は期待どおりにタグをサポートしていない可能性があるため、通常は投稿全体が表示され<description>、2つが混在しているわけではありません。

于 2011-09-10T03:49:09.677 に答える
14

前の答えは正しくありません。

RSS 2.0の仕様は、<description>要素の値をエンコードできることを非常に明確にしています。

アイテム自体が完全である場合もあります。その場合、説明にはテキストが含まれ(エンティティエンコードされたHTMLが許可されます。例を参照)、リンクとタイトルは省略できます。アイテムのすべての要素はオプションですが、タイトルまたは説明の少なくとも1つが存在する必要があります。

于 2015-06-03T17:40:37.047 に答える
4

@randomによって与えられた答えにはいくつかの真実がありますが、RSS 2.0仕様descriptionで指定されているように、/の代わりに、または他のときにと一緒に処理する方法を決定するとき、最終的に状況は複雑です(混乱しない場合) content:encoded

TLDR:コンテンツプロデューサーがテキストの要約の両方をより完全なコンテンツとして含めることをいとわない場合、状況は解消されます。descriptionより単純なテキストの要約とcontent:encodedより完全なhtmlコンテンツに使用します。ただし、2つのうちの一方のみ、要約のみ、またはより完全なコンテンツのみを含めたい場合は、descriptionこのタグを使用する必要があります。その場合、状況はあいまいなままです。私の見積もりで最も不幸な決定は、これを明確にするためにfuller-htmlコンテンツを含める必要があることを意味します。そうでない場合、descriptionタグはこれまでと同じようにあいまいになります。

itemフィードに要約を使用したくないパブリッシャーは、最も幅広いサポートがあるためではdescriptionなく、アイテムの完全なコンテンツに要素を使用する必要があります。content:encoded

要約を採用する出版社は、要約を説明に保存し、完全なコンテンツをに保存し、最初に。内content:encodedで注文する必要があります。要約のないアイテムでは、完全なコンテンツをに保存する必要があります。descriptionitemdescription

これが何を意味するのかをゆっくりと調理する必要がありますが、これらが重要なポイントだと思います。

  1. これらの2つのタグの1つだけが指定されている場合、それはdescriptionタグである必要があります。
  2. つまり、タグが横に(実際には上に)配置されcontent:encodedていない状態で存在してはならないということです。description
  3. 残念ながら、これは、タグが1つしかない場合(必ずdescription)、状況が相変わらずあいまいなままであるdescriptionことを意味します。つまり、単純なテキストの要約、またはより完全なhtmlコンテンツのいずれかであり続けるので、わかりません。
  4. 両方が与えられたとき、それは曖昧さを取り除く唯一の時です:それからdescription、より単純な要約であるべきであり、よりcontent:encoded完全なhtmlコンテンツをコンテナ化します。

または多分私はこれをすべて間違って読んだ。

個人的には、この決定は非常に残念だったと思います。彼らは明らかに下位互換性を保つためにこれを行ったので、当時の読者はいつでも読むことができる説明を持っているcontent:encodedでしょう(まだサポートされていないか、広くサポートされていないため)。しかしそうすることで、彼らは基本的にこれを障害者にしました。今では橋の下の水ですが、両方の世界を最大限に活用しながら、彼らができることは、次のdescriptionような属性を追加することだったと思います<description type="html | text">。したがって、 (彼らが指定するのは常により完全なhtmlコンテンツ用である<description type="text">ことに注意してください)それは指定していますcontent:encodeddescriptionは単純な要約であり、読者がこのタグのタイプを知るために、プロデューサーが完全なコンテンツを提供する必要はありません。古い読者はこの余分な属性を無視していたでしょうが。橋の下の水ですが、私たちは夢を見ることができます。

したがって、現状では、両方のタグが含まれている場合を除いて、すべてが完全に空中にあるように見えます。そうしないと、正しい仮定を立てることができません。

PSフルコンテンツとサマリーコンテンツの違いについては、タグに関する元のディスカッションを参照してください。description

于 2019-02-27T12:25:31.910 に答える