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。