Network Working Group J. Snell Internet-Draft A. Sewe Expires: February 18, 2007 August 17, 2006 Atom Ranking Extensions draft-snell-atompub-feed-index-10.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on February 18, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document defines an Atom Syndication Format extension for numerically ranking entries within a syndication feed. Snell & Sewe Expires February 18, 2007 [Page 1] Internet-Draft Atom Rank August 2006 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Namespace and Version . . . . . . . . . . . . . . . . . . 4 1.3. Notational Conventions . . . . . . . . . . . . . . . . . . 4 2. The "re:rank" Element . . . . . . . . . . . . . . . . . . . . 5 2.1. The "scheme" Attribute . . . . . . . . . . . . . . . . . . 6 2.2. The "domain" Attribute . . . . . . . . . . . . . . . . . . 6 2.3. The "label" Attribute . . . . . . . . . . . . . . . . . . 6 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.1. Normative References . . . . . . . . . . . . . . . . . . . 7 5.2. Informative References . . . . . . . . . . . . . . . . . . 7 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Intellectual Property and Copyright Statements . . . . . . . . . . 10 Snell & Sewe Expires February 18, 2007 [Page 2] Internet-Draft Atom Rank August 2006 1. Introduction This document specifies an extension to the Atom Syndication Format that allows feed publishers to convey one or more numeric rankings for entries contained within Atom Feed or Entry Documents, each of which can be used, independently or in conjunction with the others, to establish a sorting order. 1.1. Examples For example, the feed below includes two entries representing student exam scores. Each entry contains, in the form of "re:rank" elements, both the overall score for each student and their score for the mathematics portion of the test. http://example.org/sat/scores ... http://students.example.org/~alice Alice 2100 750 ... http://students.example.org/~bob Bob 2300 700 ... Implementations can use the "scheme" attribute associated with each rank to determine how to interpret and validate the numeric value of a "re:rank" element. For instance, a rank value of 700 might have a different meaning and significance when expressed in terms of overall exam scores than it would when expressed in terms of just the mathematics portion of the test. In others situations, rank values that should be interpreted in the same way differ only in terms of the context in which they have been Snell & Sewe Expires February 18, 2007 [Page 3] Internet-Draft Atom Rank August 2006 applied. For example, the feed below includes two entries representing movies from two different genres. Each entry contains one popularity ranking relative to all movies regardless of genre, and one ranking that is relative only to other movies in the same genre. ... http://example.com/movies/starwars Star Wars 123 53 ... http://example.com/movies/citylights Charlie Chaplin: City Lights 5734 27 ... 1.2. Namespace and Version The XML Namespaces URI [W3C.REC-xml-names-19990114] for the XML elements and attributes described in this specification is http://purl.org/atompub/rank/1.0 For convenience, this extension may be referred to as "Feed Rank 1.0". 1.3. Notational Conventions In this document, the namespace prefix "re:" is used for the above Namespace URI. Note that the choice of namespace prefix is arbitrary and not semantically significant. This extension is, like the Atom Syndication Format [RFC4287] itself, specified using terms from the XML Infoset [W3C.REC-xml-infoset- 20040204]. However, this specification uses a shorthand form for two commons terms: The phrase "Information Item" is omitted when naming Snell & Sewe Expires February 18, 2007 [Page 4] Internet-Draft Atom Rank August 2006 Element and Attribute Information Items. Therefore, when this specification uses the term "element," it is referring to an Element Information Item in Infoset terms. Likewise, when it uses the term "attribute," it is referring to an Attribute Information Item. Some sections of this specification are illustrated with fragments of a non-normative RELAX NG Compact schema [RFC4287]. In those sections this specification uses the atomCommonAttributes and atomURI patterns defined in [RFC4287]. However, the text of this specification provides the sole definition of conformance. This specification allows the use of IRIs [RFC3987]. Every URI [RFC3986] is also an IRI, so a URI may be used wherever an IRI is named. Note that the definition of "IRI" excludes relative references. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, [RFC2119]. 2. The "re:rank" Element The "re:rank" element conveys a numeric rank associated with an entry. rankingValue = element re:rank { atomCommonAttributes, attribute scheme { atomUri }, attribute domain { atomUri }?, attribute label { text }?, { xsd:decimal } } The text content of the element is a decimal value conforming to the lexical representation of the XML Schema decimal data type [W3C.REC- xmlschema-2-20041028]. Whitespace that leads or trails the value is insignificant. Entries MAY contain zero or more "re:rank" elements but MUST NOT contain more than one with the same combination of "scheme" and "domain" attribute values. This specification assigns no significance to the order of "re:rank" elements within an entry. Snell & Sewe Expires February 18, 2007 [Page 5] Internet-Draft Atom Rank August 2006 2.1. The "scheme" Attribute Each "re:rank" element MUST have a "scheme" attribute that conveys a permanent, universally unique identifier for a ranking scheme. The content of the attribute MUST be an IRI, as defined by [RFC3987]. Though the IRI might use a dereferencable scheme, processors MUST NOT assume it can be dereferenced. Scheme IRIs MUST be compared on a case-sensitive, character-by- character basis. For further information refer to section 4.2.6 of [RFC4287]. 2.2. The "domain" Attribute Each "re:rank" element MAY have a "domain" attribute that conveys a permanent, universally unique identifier for a ranking domain. If the "domain" atribute is not specified, the domain identifier is either o The "atom:id" of the containing entry's "atom:source" element, if present, or o The "atom:id" of an "atom:feed" containing the entry, if any, or o The value of the ranked entry's "atom:id". The content of the attribute MUST be an IRI, as defined by [RFC3987]. Though the IRI might use a dereferencable scheme, processors MUST NOT assume it can be dereferenced. Domain IRIs MUST be compared on a case-sensitive, character-by- character basis. For further information refer to section 4.2.6 of [RFC4287]. 2.3. The "label" Attribute Each "re:rank" element MAY have a "label" attribute which coneys a Language-Sensitive, human-readable label for the rank. Entities such as "&" and "<" represent their corresponding characters ("&" and "<", respectively), not markup. 3. IANA Considerations There are no IANA considerations introduced by this specification. 4. Security Considerations Snell & Sewe Expires February 18, 2007 [Page 6] Internet-Draft Atom Rank August 2006 The security considerations discussed in section 8 of [RFC4287] apply. Malicious content producers can use illegitimate "r:rank" values to inappropriately boost the positions of their own entries or negatively impact the postions of other entries in ordered sets. 5. References 5.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005. [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom Syndication Format", RFC 4287, December 2005. [W3C.REC-xml-infoset-20040204] Cowan, J. and R. Tobin, "XML Information Set (Second Edition)", World Wide Web Consortium Recommendation http://www.w3.org/TR/2004/REC-xml-infoset-20040204, February 2004. [W3C.REC-xml-names-19990114] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", World Wide Web Consortium Recommendation http:// www.w3.org/TR/1999/REC-xml-names-19990114, January 1999. [W3C.REC-xmlschema-2-20041028] Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Second Edition", World Wide Web Consortium Recommendation http://www.w3.org/TR/2004/REC-xmlschema-2-20041028, October 2004. 5.2. Informative References [RELAXNG] Clark, J., "RELAX NG Compact Syntax", December 2001, . Snell & Sewe Expires February 18, 2007 [Page 7] Internet-Draft Atom Rank August 2006 Appendix A. Acknowledgements The authors gratefully acknowledge the feedback from the Atom Publishing working group during the development of this specification. Some portions of text in this specification have been copied verbatim from [RFC4287] for the purpose of maintaining stylistic and functional consistency with that specification. Snell & Sewe Expires February 18, 2007 [Page 8] Internet-Draft Atom Rank August 2006 Authors' Addresses James M Snell Email: jasnell@gmail.com URI: http://www.snellspace.com Andreas Sewe Email: sewe@rbg.informatik.tu-darmstadt.de URI: Snell & Sewe Expires February 18, 2007 [Page 9] Internet-Draft Atom Rank August 2006 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Snell & Sewe Expires February 18, 2007 [Page 10]