Internet DRAFT - draft-snell-atompub-feed-index
draft-snell-atompub-feed-index
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.
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:re="http://purl.org/atompub/rank/1.0">
<id>http://example.org/sat/scores</id>
...
<entry>
<id>http://students.example.org/~alice</id>
<title>Alice</title>
<re:rank scheme="tag:example.org,2006:sat/score/overall"
label="98">2100</re:rank>
<re:rank scheme="tag:example.org,2006:sat/score/math"
label="99+">750</re:rank>
...
</entry>
<entry>
<id>http://students.example.org/~bob</id>
<title>Bob</title>
<re:rank scheme="tag:example.org,2006:sat/score/overall"
label="99+">2300</re:rank>
<re:rank scheme="tag:example.org,2006:sat/score/math"
label="96">700</re:rank>
...
</entry>
</feed>
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.
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:re="http://purl.org/atompub/rank/1.0">
...
<entry>
<id>http://example.com/movies/starwars</id>
<title>Star Wars</title>
<re:rank domain="http://example.com/genres#all"
scheme="http://example.com/ratings#popularity">123</re:rank>
<re:rank domain="http://example.com/genres#scifi"
scheme="http://example.com/ratings#popularity">53</re:rank>
...
</entry>
<entry>
<id>http://example.com/movies/citylights</id>
<title>Charlie Chaplin: City Lights</title>
<re:rank domain="http://example.com/genres#all"
scheme="http://example.com/ratings#popularity">5734</re:rank>
<re:rank domain="http://example.com/genres#comedy"
scheme="http://example.com/ratings#popularity">27</re:rank>
...
</entry>
</feed>
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,
<http://www.oasis-open.org/committees/relax-ng/
compact-20021121.html>.
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]