描述和内容之间的区别:RSS2中的编码标签

问题描述 投票:28回答:3

<description>标签和RSS 2.0格式规范中的<content:encoded>标签之间有什么区别?

一个比另一个更重要吗?

我应该在我的Feed中使用两者还是一个就足够了?

xml rss feed rss2
3个回答
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:encodeddescription的摘要中提供。

RSS Best Practices Profile: content:encoded

简而言之,<description>用于the summary,其余的帖子在<content:encoded>

由于某些读者可能不会按预期支持标记,因此您通常会在<description>中看到整个帖子,而不是两者的混合。


12
投票

之前的答案不正确。

RSS 2.0 spec非常清楚,你可以编码的价值 元件。

项目本身也可以是完整的,如果是,则描述包含文本(允许实体编码的HTML;参见示例),并且可以省略链接和标题。项目的所有元素都是可选的,但必须至少有一个标题或描述。


1
投票

@random给出的答案有一些道理,但最终情况是复杂的(如果不是混淆),如RSS 2.0 spec中所规定的,在决定如何处理description而不是/或在content:encoded的其他时间。

TLDR:当内容制作人愿意同时包含文本摘要AS WELL作为更全面的内容时,情况就会被清除:使用description进行更简单的文本摘要,使用content:encoded获取更全面的html内容。但是当他们只想包括两个中的一个,只有摘要或只有更全面的内容时,那么他们支持使用description标签,在这种情况下,事情仍然模糊不清!在我的估计中,这是一个非常不幸的决定,这意味着你必须包含更全面的内容才能明确这一点,否则,description标签就像以前一样模棱两可。

不想在其Feed中使用item摘要的发布者应该使用description元素作为项目的完整内容而不是content:encoded,因为它具有最广泛的支持。

使用摘要的出版商应该将摘要存储在描述中,并在content:encoded中存储完整内容,首先在description中订购item。对于没有摘要的项目,完整内容应该存储在description中。

人们必须慢慢冥想这一切意味着什么,但我认为这些是外卖点:

  1. 如果只给出这两个标签中的一个,它必须是description标签。
  2. 这意味着content:encoded应该永远不存在没有description标签放置在它旁边(实际上面)。
  3. 不幸的是,这意味着当只有一个标签(必须是description)时,情况仍然像以前一样模糊:I.e。 description继续是一个简单的文本摘要,或者更完整的HTML内容,你无法知道!
  4. 当给出BOTH时,这是唯一一次消除歧义:然后description应该是一个更简单的摘要,而content:encoded将容器更全面的html内容。

或许我读错了。

我个人认为这个决定非常不幸。他们显然这样做是为了保持向后兼容性,所以读者当时总能有一些描述可供阅读(因为content:encoded尚未得到支持,或者没有广泛使用)。但在这样做时,他们基本上妨碍了这一点。它现在是桥下的水,但我认为他们本可以做到的,同时充分利用这两个世界,就是为description增加一个属性:<description type="html | text">。因此,如果<description type="text">(注意他们指定content:encoded总是用于更全面的html内容)那么它指定description只是一个更简单的摘要,并且生产者不必也为读者提供完整内容以便读者知道该标签的类型。虽然年长的读者会忽略这个额外的属性。桥下的水,但我们可以做梦。

因此,在我看来,在我看来,一切都完全在空中,**除非包括* BOTH标签,否则你才能做出正确的假设。

附:至于完整内容和摘要内容之间的区别,请参阅original discussion标签上的description

© www.soinside.com 2019 - 2024. All rights reserved.