Search Descriptions

Search description is an XML resource linked with a feed. This resource contains templates of feed requests that cause APS Catalog to tweak the content of a feed before returning it to a client. Each such template differs by arguments added to a feed URL. For instance, to get a feed page with 20 entries, a client must issue the following HTTP GET request: <feed_URL>?pageSize=20. To get the second feed page with 20 entries per page, a client must issue the following request: <feed_URL>?pageSize=20&page=2. These two arguments are common for each feed linked with a search description. For description of these two arguments, refer to the API Reference, section Search Descriptions. A typical usage of arguments nested in search descriptions is illustrated in the next paragraph.

 

How to create an extended navigation bar

A client can use the page and pageSize arguments to create a navigation bar that comprises links to all feed pages. It is supposed that such client has already discovered a feed. To generate the bar, the client must do the following:

  1. Define the number of entries to be displayed per feed page. Let X denote this number.
  2. Retrieve the first feed page by issuing HTTP GET request <feed_URL>?pageSize=X.
  3. Retrieve the total number of entries in the feed by parsing the first feed page for //feed/opensearch:totalResults/text(). Let Y denote this number.
  4. Calculate the number of feed pages by rounding Y / X.
  5. Create links to each feed page. Each link will look like this: <feed_URL>?pageSize=X&page=N. Here N stands for a feed page number.

Remarks

A client can check if search description arguments are updated by parsing the corresponding search description.

Feed request arguments can be used in combination with filters to create custom filtering criteria. For example, a client can display Gold certified packages pertaining to a specific APS category. We recommend you to examine the XML structure of each search description to make use of the full range of functionality provided by them. For details on search descriptions XML structure, see the API Reference, section Search Descriptions.