idnits 2.17.1 draft-snell-atompub-feed-index-10.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 347. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 324. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 331. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 337. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 17, 2006) is 6462 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RELAXNG' is defined on line 291, but no explicit reference was found in the text Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snell 3 Internet-Draft A. Sewe 4 Expires: February 18, 2007 August 17, 2006 6 Atom Ranking Extensions 7 draft-snell-atompub-feed-index-10.txt 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on February 18, 2007. 34 Copyright Notice 36 Copyright (C) The Internet Society (2006). 38 Abstract 40 This document defines an Atom Syndication Format extension for 41 numerically ranking entries within a syndication feed. 43 Table of Contents 45 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 46 1.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 3 47 1.2. Namespace and Version . . . . . . . . . . . . . . . . . . 4 48 1.3. Notational Conventions . . . . . . . . . . . . . . . . . . 4 49 2. The "re:rank" Element . . . . . . . . . . . . . . . . . . . . 5 50 2.1. The "scheme" Attribute . . . . . . . . . . . . . . . . . . 6 51 2.2. The "domain" Attribute . . . . . . . . . . . . . . . . . . 6 52 2.3. The "label" Attribute . . . . . . . . . . . . . . . . . . 6 53 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 54 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 55 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 56 5.1. Normative References . . . . . . . . . . . . . . . . . . . 7 57 5.2. Informative References . . . . . . . . . . . . . . . . . . 7 58 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 59 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 60 Intellectual Property and Copyright Statements . . . . . . . . . . 10 62 1. Introduction 64 This document specifies an extension to the Atom Syndication Format 65 that allows feed publishers to convey one or more numeric rankings 66 for entries contained within Atom Feed or Entry Documents, each of 67 which can be used, independently or in conjunction with the others, 68 to establish a sorting order. 70 1.1. Examples 72 For example, the feed below includes two entries representing student 73 exam scores. Each entry contains, in the form of "re:rank" elements, 74 both the overall score for each student and their score for the 75 mathematics portion of the test. 77 79 http://example.org/sat/scores 80 ... 81 82 http://students.example.org/~alice 83 Alice 84 2100 86 750 88 ... 89 90 91 http://students.example.org/~bob 92 Bob 93 2300 95 700 97 ... 98 99 101 Implementations can use the "scheme" attribute associated with each 102 rank to determine how to interpret and validate the numeric value of 103 a "re:rank" element. For instance, a rank value of 700 might have a 104 different meaning and significance when expressed in terms of overall 105 exam scores than it would when expressed in terms of just the 106 mathematics portion of the test. 108 In others situations, rank values that should be interpreted in the 109 same way differ only in terms of the context in which they have been 110 applied. For example, the feed below includes two entries 111 representing movies from two different genres. Each entry contains 112 one popularity ranking relative to all movies regardless of genre, 113 and one ranking that is relative only to other movies in the same 114 genre. 116 118 ... 119 120 http://example.com/movies/starwars 121 Star Wars 122 123 124 53 126 ... 127 128 129 http://example.com/movies/citylights 130 Charlie Chaplin: City Lights 131 5734 133 27 135 ... 136 137 139 1.2. Namespace and Version 141 The XML Namespaces URI [W3C.REC-xml-names-19990114] for the XML 142 elements and attributes described in this specification is 143 http://purl.org/atompub/rank/1.0 145 For convenience, this extension may be referred to as "Feed Rank 146 1.0". 148 1.3. Notational Conventions 150 In this document, the namespace prefix "re:" is used for the above 151 Namespace URI. Note that the choice of namespace prefix is arbitrary 152 and not semantically significant. 154 This extension is, like the Atom Syndication Format [RFC4287] itself, 155 specified using terms from the XML Infoset [W3C.REC-xml-infoset- 156 20040204]. However, this specification uses a shorthand form for two 157 commons terms: The phrase "Information Item" is omitted when naming 158 Element and Attribute Information Items. Therefore, when this 159 specification uses the term "element," it is referring to an Element 160 Information Item in Infoset terms. Likewise, when it uses the term 161 "attribute," it is referring to an Attribute Information Item. 163 Some sections of this specification are illustrated with fragments of 164 a non-normative RELAX NG Compact schema [RFC4287]. In those sections 165 this specification uses the atomCommonAttributes and atomURI patterns 166 defined in [RFC4287]. However, the text of this specification 167 provides the sole definition of conformance. 169 This specification allows the use of IRIs [RFC3987]. Every URI 170 [RFC3986] is also an IRI, so a URI may be used wherever an IRI is 171 named. Note that the definition of "IRI" excludes relative 172 references. 174 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 175 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 176 document are to be interpreted as described in BCP 14, [RFC2119]. 178 2. The "re:rank" Element 180 The "re:rank" element conveys a numeric rank associated with an 181 entry. 183 rankingValue = element re:rank { 184 atomCommonAttributes, 185 attribute scheme { atomUri }, 186 attribute domain { atomUri }?, 187 attribute label { text }?, 188 { xsd:decimal } 189 } 191 The text content of the element is a decimal value conforming to the 192 lexical representation of the XML Schema decimal data type [W3C.REC- 193 xmlschema-2-20041028]. Whitespace that leads or trails the value is 194 insignificant. 196 Entries MAY contain zero or more "re:rank" elements but MUST NOT 197 contain more than one with the same combination of "scheme" and 198 "domain" attribute values. 200 This specification assigns no significance to the order of "re:rank" 201 elements within an entry. 203 2.1. The "scheme" Attribute 205 Each "re:rank" element MUST have a "scheme" attribute that conveys a 206 permanent, universally unique identifier for a ranking scheme. 208 The content of the attribute MUST be an IRI, as defined by [RFC3987]. 209 Though the IRI might use a dereferencable scheme, processors MUST NOT 210 assume it can be dereferenced. 212 Scheme IRIs MUST be compared on a case-sensitive, character-by- 213 character basis. For further information refer to section 4.2.6 of 214 [RFC4287]. 216 2.2. The "domain" Attribute 218 Each "re:rank" element MAY have a "domain" attribute that conveys a 219 permanent, universally unique identifier for a ranking domain. If 220 the "domain" atribute is not specified, the domain identifier is 221 either 223 o The "atom:id" of the containing entry's "atom:source" element, if 224 present, or 225 o The "atom:id" of an "atom:feed" containing the entry, if any, or 226 o The value of the ranked entry's "atom:id". 228 The content of the attribute MUST be an IRI, as defined by [RFC3987]. 229 Though the IRI might use a dereferencable scheme, processors MUST NOT 230 assume it can be dereferenced. 232 Domain IRIs MUST be compared on a case-sensitive, character-by- 233 character basis. For further information refer to section 4.2.6 of 234 [RFC4287]. 236 2.3. The "label" Attribute 238 Each "re:rank" element MAY have a "label" attribute which coneys a 239 Language-Sensitive, human-readable label for the rank. Entities such 240 as "&" and "<" represent their corresponding characters ("&" 241 and "<", respectively), not markup. 243 3. IANA Considerations 245 There are no IANA considerations introduced by this specification. 247 4. Security Considerations 248 The security considerations discussed in section 8 of [RFC4287] 249 apply. 251 Malicious content producers can use illegitimate "r:rank" values to 252 inappropriately boost the positions of their own entries or 253 negatively impact the postions of other entries in ordered sets. 255 5. References 257 5.1. Normative References 259 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 260 Requirement Levels", BCP 14, RFC 2119, March 1997. 262 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 263 Resource Identifier (URI): Generic Syntax", STD 66, 264 RFC 3986, January 2005. 266 [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource 267 Identifiers (IRIs)", RFC 3987, January 2005. 269 [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom 270 Syndication Format", RFC 4287, December 2005. 272 [W3C.REC-xml-infoset-20040204] 273 Cowan, J. and R. Tobin, "XML Information Set (Second 274 Edition)", World Wide Web Consortium Recommendation 275 http://www.w3.org/TR/2004/REC-xml-infoset-20040204, 276 February 2004. 278 [W3C.REC-xml-names-19990114] 279 Bray, T., Hollander, D., and A. Layman, "Namespaces in 280 XML", World Wide Web Consortium Recommendation http:// 281 www.w3.org/TR/1999/REC-xml-names-19990114, January 1999. 283 [W3C.REC-xmlschema-2-20041028] 284 Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes 285 Second Edition", World Wide Web Consortium Recommendation 286 http://www.w3.org/TR/2004/REC-xmlschema-2-20041028, 287 October 2004. 289 5.2. Informative References 291 [RELAXNG] Clark, J., "RELAX NG Compact Syntax", December 2001, 292 . 295 Appendix A. Acknowledgements 297 The authors gratefully acknowledge the feedback from the Atom 298 Publishing working group during the development of this 299 specification. Some portions of text in this specification have been 300 copied verbatim from [RFC4287] for the purpose of maintaining 301 stylistic and functional consistency with that specification. 303 Authors' Addresses 305 James M Snell 307 Email: jasnell@gmail.com 308 URI: http://www.snellspace.com 310 Andreas Sewe 312 Email: sewe@rbg.informatik.tu-darmstadt.de 313 URI: 315 Intellectual Property Statement 317 The IETF takes no position regarding the validity or scope of any 318 Intellectual Property Rights or other rights that might be claimed to 319 pertain to the implementation or use of the technology described in 320 this document or the extent to which any license under such rights 321 might or might not be available; nor does it represent that it has 322 made any independent effort to identify any such rights. Information 323 on the procedures with respect to rights in RFC documents can be 324 found in BCP 78 and BCP 79. 326 Copies of IPR disclosures made to the IETF Secretariat and any 327 assurances of licenses to be made available, or the result of an 328 attempt made to obtain a general license or permission for the use of 329 such proprietary rights by implementers or users of this 330 specification can be obtained from the IETF on-line IPR repository at 331 http://www.ietf.org/ipr. 333 The IETF invites any interested party to bring to its attention any 334 copyrights, patents or patent applications, or other proprietary 335 rights that may cover technology that may be required to implement 336 this standard. Please address the information to the IETF at 337 ietf-ipr@ietf.org. 339 Disclaimer of Validity 341 This document and the information contained herein are provided on an 342 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 343 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 344 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 345 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 346 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 347 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 349 Copyright Statement 351 Copyright (C) The Internet Society (2006). This document is subject 352 to the rights, licenses and restrictions contained in BCP 78, and 353 except as set forth therein, the authors retain all their rights. 355 Acknowledgment 357 Funding for the RFC Editor function is currently provided by the 358 Internet Society.