Atom 文档

Atom 文档分以下几类:条目文档、订阅源文档、集合、服务文档或类别文档。

Atom 条目文档
Atom 条目文档是包含 Atom 订阅源的单个信息项(称为条目)的 XML 文档。

Atom条目文档由一个<atom:entry>元素构成,该元素包含多个子元素。 这些子元素提供条目内容以及有关条目的元数据,例如,条目标题或第一次发布条目的时间。

Atom 条目的内容可以是纯文本、HTML、XHTML 或其他 IANA(因特网编号分配机构)介质类型。 IANA 介质类型在 http://www.iana.org/assignments/media-types/media-types.xhtml中列出。 Atom 条目还可将指向介质资源(例如,电影或图像)的链接作为其内容,在这种情况下它被称为介质链接条目。

Atom 条目文档的介质类型是 application/atom+xml。

Atom 订阅源文档
Atom 订阅源文档是一个 XML 文档,用于提供有关 Atom 订阅源和一个或多个订阅源条目的元数据。 当客户机从订阅源发出信息请求时,服务器将生成一个订阅源文档,其中包含适当数量的 Atom 条目以实现该请求。

Atom 源文档由一个包含多个子元素的 <atom:feed> 元素构成。 <atom:entry> 元素是最重要的子元素,但通常供稿的条目以独立的 XML 文档形式存在,服务器在提供供稿文档时会将其添加进去。 即使不包含任何<atom:entry>元素,Atom源文档仍然是有效的文档。

其他子元素包含有关订阅源的元数据,例如,其标题和子标题,或主要作者。 Atom 订阅源文档中的某些元数据项(例如,作者的详细信息和有关知识产权的信息)可应用于订阅源中的所有条目,除非条目含有其自己的元数据项。

Atom 订阅源文档的介质类型是 application/atom+xml。

Atom 集合
Atom 集合是特定类型的 Atom 订阅源文档,它列出了可编辑的 Atom 条目的 URL。 其格式与附带有某些专用元素的普通 Atom 订阅源文档的格式类似。 它列示在 Atom 服务文档中,故称之为集合。

Atom集合包含一些专门的<atom:link>元素。 如果集合足够大,需要多个源文档才能返回所有条目,则元素<atom:link rel="first">、<atom:link rel="last">、<atom:link rel="next">和<atom:link rel="previous">可在源文档之间提供导航功能。 条目还包含一个<atom:link rel="edit">链接,可用于提交编辑请求。 <app:edited> 元素被添加到集合中的条目中,用于标注每个条目的最后编辑时间。

当 Atom 条目可用作集合时,客户机可以编辑或删除现有条目,并为该集合创建新条目。 客户机通过将 HTTP 请求发生至服务器来处理条目,如下所示:
GET
检索单个 Atom 条目或 Atom 条目列表。 如 Atom 服务文档所述,将针对 Atom 条目列表的 GET 请求发送至集合的 URL。 针对单个Atom条目的GET请求将发送至集合中该条目对应的 URL 地址,该地址由条目中的<atom:link rel="edit">链接所指定。
POST
创建新的 Atom 条目。 POST 请求被发送至集合的 URL。
PUT
编辑客户机使用 GET 请求获取的现有 Atom 条目。 PUT 请求被发送至集合中单个 Atom 条目的 URL。
DELETE
删除现有 Atom 条目。 DELETE 请求被发送至集合中单个 Atom 条目的 URL。

在所有情况下,服务器都会将一个适当的 HTTP 响应发送至客户机。 服务器可以更改客户机为条目提供的元数据,因此,当客户机成功发出 POST 或 PUT 请求时,服务器还会将新条目的副本作为响应主体返回。

除了包含标准 Atom 条目以外,集合还可包含介质资源,例如,电影或图像。 如果服务器支持介质资源,那么它将在集合中创建被称为介质链接条目的专用 Atom 条目,以便提供至这些资源的链接。 CICS® 不提供对介质资源的支持。

Atom 服务文档
Atom 服务文档是列举服务器中可用集合的 XML 文档。

Atom服务文档的根元素为<app:service>。 (app: 前缀是 Atom 发布协议名称空间的前缀。) 它包含一个或多个<app:workspace>元素,这些元素定义了包含多个<app:collection>元素的工作区。 工作空间仅用于对集合进行分组;您不能对工作空间执行任何操作。

<app:collection> 元素列出了每个集合的 URL 和标题,还可能说明该集合接受的输入类型以及条目可使用的分类。

Atom 服务文档的介质类型是 application/atomsvc+xml。

Atom 类别文档
类别文档包含集合中条目的类别列表。 同时还可以在服务文档中指定类别。 如果要使用相同的类别来定义多个 Atom 订阅源,那么单独的类别文档将非常有用。

Atom类别文档的根元素为<app:categories>。 (app: 前缀是 Atom 发布协议名称空间的前缀。) <app:categories> 元素包含一组 <atom:category> 元素,这些元素是集合中条目允许使用的分类。 类别列表可以是固定的,在这种情况下,服务器可以拒绝具有其他类别的条目,也可以是开放式的,这样就可以使用其他类别。

如果在 Atom 服务文档中使用单独的 Atom 类别文档,而不是使用类别列表,那么会在服务文档中通过该类别文档的 URL 来进行引用。

Atom 集合的介质类型是 application/atomcat+xml。