RSS 2.0格式规范中<description>
标记与<content:encoded>
标记之间有什么区别?
一个比另一个更重要吗?
我应该在我的Feed中同时使用这两种方法吗?
答案 0 :(得分:30)
<description>
标记用于帖子摘要,但仅限于纯文本。没有标记。
如果你逃避标签或将内容包装在:
,你可以解决这个问题<![CDATA[ post body goes <strong>here</strong> ]>
但是you're not really supposed to be doing that。
如果你想要标记,你应该使用<content:encoded>
并在这里使用<![CDATA[
和]>
包装。
content:encoded
元素可与description
元素结合使用,以提供项目的完整内容以及较短的摘要。在此方法下,该项目的完整文本显示在content:encoded
中,摘要显示在description
中。RSS Best Practices Profile: content:encoded
简而言之,<description>
适用于the summary,其余帖子位于<content:encoded>
。
由于某些读者可能不会按预期支持这些代码,因此您通常会在<description>
中看到整个帖子,而不是两者的混合。
答案 1 :(得分:12)
之前的回答不正确。
RSS 2.0 spec非常明确,您可以对&lt; description&gt;的值进行编码。元件。
项目本身也可以是完整的,如果是,描述 包含文本(允许实体编码的HTML;参见示例),和 链接和标题可以省略。项目的所有元素都是 可选,但必须至少有一个标题或说明 本。
答案 2 :(得分:1)
@random给出的答案确实有些道理,但是在决定如何处理description
而不是/ RSS 2.0 spec时,情况original discussion中最终是复杂的(如果不引起混淆)。或在其他时间content:encoded
旁边。
TLDR:当内容提供者愿意同时包含文本摘要和更完整的内容时,情况将得到解决:使用description
来编写更简单的文本摘要,并使用content:encoded
来编写文本摘要。完整的html内容。但是,当他们只想包括二者之一,仅是摘要内容或仅是更完整的内容时,则应该为此使用description
标签,在这种情况下,情况仍然模棱两可!根据我的估计,这是最不幸的决定,这意味着您必须包含完整的html内容才能清楚地说明这一点,否则description
标签与以往一样as昧。
不想在摘要中使用
item
的发布者,应使用description
元素来获取项目的全部内容,而不要使用content:encoded
,因为它具有最广泛的支持。使用摘要的发布者应将摘要中的摘要和完整内容存储在
content:encoded
中,并在description
中首先对item
进行排序。对于没有摘要的项目,应将全部内容存储在description
中。
必须慢慢思考这一切的含义,但我认为这些要点:
description
标签。content:encoded
不应该在其旁边(实际上位于其上方)没有description
标签存在。 description
)时,情况仍然像以往一样ever昧: description
仍然是一个简单的文本摘要,或者更完整的html内容,您不知道!description
应该是一个更简单的摘要,而content:encoded
将包含更完整的html内容。或者我可能读错了一切。
我个人认为这个决定很不幸。他们显然这样做是为了保持向后兼容性,因此当时的读者将总是可以从中读取一些描述(因为尚未支持content:encoded
或广泛使用)。但是这样做,他们基本上有障碍。到现在为止,这已经是水,但我认为他们可以做的事,同时兼顾两全其美,是在description
上添加一个属性,例如:<description type="html | text">
。因此,如果<description type="text">
(注意,他们指定content:encoded
始终是 以获得更完整的html内容),则表明description
只是一个更简单的摘要,生产者没有还可以提供完整内容,以便读者了解此标签的类型。虽然老读者会忽略这个额外的属性。桥下有水,但我们可以做梦。
就目前而言,在我看来,所有事情都完全悬而未决,除非包含两个标签,否则只有这样才能做出正确的假设。