首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >描述和内容之间的差异: RSS2中的编码标记

描述和内容之间的差异: RSS2中的编码标记
EN

Stack Overflow用户
提问于 2011-08-28 19:31:35
回答 3查看 25.9K关注 0票数 36

在RSS2.0格式规范中,<description>标记和<content:encoded>标记之间有什么区别?

一个比另一个更重要吗?

我应该在我的提要中同时使用两个,还是一个就足够了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-10 11:49:10

<description>标记用于帖子摘要,但仅在纯文本中使用。没有标记。

如果对标记进行转义或将内容包装在以下内容中,则可以解决此问题:

代码语言:javascript
复制
<![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>中的整个帖子,而不是两者的混合。

票数 39
EN

Stack Overflow用户

发布于 2015-06-04 01:40:37

前面的答案是不正确的。

RSS2.0 spec非常清楚,您可以对元素的值进行编码。

一个项目本身也可能是完整的,如果是这样的话,描述包含文本(允许使用实体编码的超文本标记语言,参见示例),并且可以省略链接和标题。项目的所有元素都是可选的,但必须至少存在标题或描述中的一个。

票数 14
EN

Stack Overflow用户

发布于 2019-02-27 20:25:32

@random给出的答案有一定道理,但最终情况是复杂的(如果不是令人困惑的),正如RSS 2.0 spec中所指定的,当决定如何处理description而不是/或在其他时间与content:encoded一起处理时。

TLDR:当内容生产者愿意同时包含文本摘要和更完整的内容时,情况就清楚了:使用description表示更简单的文本摘要,使用content:encoded表示更完整的html内容。但是当他们只想包含两个中的一个时,只想包含摘要或更完整的内容,那么他们应该使用description标记,在这种情况下,事情仍然是模棱两可的!在我看来,这是一个最不幸的决定,这意味着你必须包含完整的html内容才能让这一点变得清晰,否则,description标签就会一如既往地模棱两可。

不想在提要中使用item摘要的

发布者应该对项目的完整内容使用description元素,而不是content:encoded,因为它具有最广泛的支持。

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

人们不得不慢慢地思考这一切意味着什么,但我认为这些都是外卖要点:

  1. 如果只给出了这两个标签中的一个,那么它必须是description标签。
  2. 这意味着content:encoded永远不应该在没有description标签的情况下存在于它的旁边(实际上是在它上面)。
  3. Unfortunately这意味着当只有一个标记(必须是description)时,情况一如既往地模棱两可:也就是说,description仍然是一个简单的文本摘要,或者是一个更完整的html内容,你不知道!
  4. 当两者都给定时,这是唯一一次消除歧义:那么description应该是一个更简单的摘要,而content:encoded将包含更完整的html内容。

也许我全看错了。

我个人认为这个决定是非常不幸的。他们这样做显然是为了保持向后兼容性,所以当时的读者将能够始终有一些描述可供阅读(因为content:encoded还没有得到支持,或者还没有得到广泛的支持)。但在这样做的时候,他们基本上阻碍了这一点。现在已经过去了,但我认为他们本可以做的是,在两全其美的情况下,为description添加一个属性,比如:<description type="html | text">。因此,如果<description type="text"> (注意,他们指定content:encoded总是用于更完整的html内容),那么它指定的description只是一个更简单的摘要,生产者也不必为了让读者知道这个标记的类型而提供完整的内容。而年长的读者可能会忽略这个额外的属性。水在桥下,但我们可以梦想。

因此,在我看来,一切都是悬而未决的,**除非*两个标签都包括在内,只有这样你才能做出正确的假设。

备注:关于完整内容和摘要内容的区别,请参阅description标签上的original discussion

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7220670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档