UserPreferences

PaceListPaging


Note

Not actually accepted quite as-as, because it still has the list templates, which are gone. So all we need is the next/prev/first/last.

Abstract

Provides a normative way of paging list feeds (references but does not depend on PaceListTemplates... the references can be removed if PaceListTemplates is not accepted)

Status

Proposed

Rationale

Proposal

9.1 Collection List Paging

The IRI's created through the token-replacement process MUST reference Atom feed documents listing the selected subset of collection members. The returned Atom feed may contain only a partial listing of all matching resources. In order to allow clients access to the remaining members of the list, the feed MAY contain link elements with rel attribute values of 'next', 'previous', 'start' and 'end' that may be used to navigate through the complete set of matching entries.

For instance, suppose the client is supplied this IRI template

  http://example.org/entries/{page}

The client replaces the tokens to receive the first page of the result set

  http://example.org/entries/1

Assuming a set of 100 matching entries in the collection and a {page} size of 10 entries per page, the resulting Atom feed document represents the first page in a linked set of 10 feed documents. Within each feed document, 'next' and 'prev' link elements reference the preceding and subsequent feed documents in the set. The 'start' link element references the first feed document in the set. The 'end' link element references the final feed document in the set.

http://example.org/entries/1

  <feed xmlns="http://www.w3.org/2005/Atom">
    ...
    <link rel="start"
          href="http://example.org/entries/1" />
    <link rel="next"
          href="http://example.org/entries/2" />
    <link rel="last"
          href="http://example.org/entries/10" />
  </feed>

http://example.org/entries/2

  <feed xmlns="http://www.w3.org/2005/Atom">
    ...
    <link rel="start"
          href="http://example.org/entries/1" />
    <link rel="previous"
          href="http://example.org/entries/1" />
    <link rel="next"
          href="http://example.org/entries/3" />
    <link rel="last"
          href="http://example.org/entries/10" />
  </feed>

Impacts

Notes


CategoryProposals