Some (and more as time progresses) services will offer APIs for accessing and/or querying the data the service provides. It would be nice if each syndication message could provide information about the aggregator.
This information is provided by three elements inside a syndicationMessage element. The creationDate gives the time at which this syndicationMessage was assembled. The optional serviceInfo element provides a brief description of the aggregation service, and optionally a URL referencing more information about the service that created it. The optional interface element references (using a href attribute an API to the aggregation service. The type attribute defines the type of the API ("xml-rpc" or "soap"), while the info attribute provides a URL that references human and/opr machine-readable instructions explaining how the interface works. Finally, a copyright element provides copyright information relevant to the data content of the message. An example of this markup is:
<serviceInfo href="_uri_to_service_info"> text description </serviceInfo> <interface href="_uri-to-interface_" type="soap | xml-rpc" info="_uri-to-description_" /> <copyright href="_uri_to_copyright_"> Copyright 2000 Bob's Deli. All Rights Reserved. </copyright>
Each data item can provide copyright information specfic to that item, which would overload the copyright information applying to the entire message.
<syndicationMessage ...attributes...>
<serviceInfo href="http://www.myco.com/serviceInfo"> </serviceInfo>
<interface href="http://data.myco.com/xrpc"
type="xml-rpc"
info="http://data.myco.com/xrpc-info" />
<copyright href="http://data.myco.com/copyright"> </copyright>
<item ....> </item>
<item ....> </item>
<collection>
<item ....> </item>
<item ....> </item>
</collection>
</syndicationMessage>
Each data item and/or collection can have metadata to describe it. This information can be broken down into three categories: (i) language-independent data, such as the identity of the creator of the data, or content rating information; (ii) data describing syndication rules for the data, and (iii) language-specific data, such as a text description or keywords list. In the latter case, it must be possible to define the language for this metadata -- which may be different from the language of the item itself.As a result, a single collection or item element can have at most one block of language-indendent and syndication rules metadata, but multiple blocks of language-specific data.
<meta>
<creator href="_uri-for-creator-of-resource_" />
Bob's Deli and News Syndicate </creator>
<copyright href="_uri_to_copyright_"> Copyright 2000 Bob's Deli.
All Rights Reserved. </copyright>
<contactInfo> contact info (phone, email) </contactInfo>
<pics-rating> .... </pics-rating>
</meta>
<syndicationRules>
<start-date date="_time_date_" />
<stop-date date="_time_date_" />
<update interval="xxx" />
<distributionRules href="_uri_to_rules_specification" >
A text description of how the data can be
used. </distributionRules>
</syndicationRules>
<overview xml:lang="en">
<keywords separator="," > comma, separated, words ....</keywords>
<category separator="/" > a/b/c </category>
<category separator="/"> d/e/f </category>
<title> _a short one-line title_ </title>
<desc> _a brief-text-description-of-the-resource_</desc>
</overview>
Note that there is nothing defined here to describe the relationships between the differnet 'parts' inside a collection. Indeed, I rather doubt that there is any easy way to define generic metadata for this independent of knowledge of the specific type of the collected data.