idnits 2.17.1 draft-snell-atompub-feature-07.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 15. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 951. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 962. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 969. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 975. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust 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 21, 2007) is 6064 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 2434 (Obsoleted by RFC 5226) ** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) ** Downref: Normative reference to an Experimental RFC: RFC 4946 Summary: 4 errors (**), 0 flaws (~~), 1 warning (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snell 3 Internet-Draft August 21, 2007 4 Intended status: Standards Track 5 Expires: February 22, 2008 7 Atom Publishing Protocol Features Extension 8 draft-snell-atompub-feature-07.txt 10 Status of this Memo 12 By submitting this Internet-Draft, each author represents that any 13 applicable patent or other IPR claims of which he or she is aware 14 have been or will be disclosed, and any of which he or she becomes 15 aware will be disclosed, in accordance with Section 6 of BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt. 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 This Internet-Draft will expire on February 22, 2008. 35 Copyright Notice 37 Copyright (C) The IETF Trust (2007). 39 Abstract 41 This document introduces extensions to the Atom Publishing Protocol 42 service document format for expressing metadata about the behaviors, 43 functions and capabilities supported by an Atom Publishing Protocol 44 collection. 46 Table of Contents 48 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 49 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 50 3. The f:feature element . . . . . . . . . . . . . . . . . . . . 4 51 3.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . 6 52 3.2. Contradictory Features . . . . . . . . . . . . . . . . . . 6 53 4. The f:type element . . . . . . . . . . . . . . . . . . . . . . 7 54 4.1. An example f:feature using the f:type element . . . . . . 7 55 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 56 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 57 6.1. Registry of Atom Publishing Features . . . . . . . . . . . 8 58 6.1.1. Initial Assignments . . . . . . . . . . . . . . . . . 8 59 7. Normative References . . . . . . . . . . . . . . . . . . . . . 20 60 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 21 61 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 21 62 Intellectual Property and Copyright Statements . . . . . . . . . . 22 64 1. Introduction 66 This document introduces extensions for the Atom Publishing Protocol 67 service document format for expressing metadata about the behaviors, 68 functions and capabilities supported by an Atom Publishing Protocol 69 collection. 71 2. Notational Conventions 73 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 74 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 75 document are to be interpreted as described in BCP 14, [RFC2119]. 77 This specification uses XML Namespaces [W3C.REC-xml-names-19990114] 78 to uniquely identify XML element names. It uses the following 79 namespace prefix for the indicated namespace URI; 81 "f": "http://purl.org/atompub/features/1.0" 83 This specification uses terms from the XML Infoset 84 [W3C.REC-xml-infoset-20040204]. However, this specification uses a 85 shorthand; the phrase "Information Item" is omitted when naming 86 Element Information Items. Therefore, when this specification uses 87 the terms "element" and "attribute" it is referring, respectively, to 88 the Element and Attribute Information Items in Infoset terms. 90 This specification uses the terms "atomUri" and 91 "atomCommonAttributes" from the non-normative RELAX NG Compact schema 92 included in [RFC4287]. Where used, these serve the same purpose and 93 have the same meaning as their use in [RFC4287]. 95 Atom allows the use of IRIs [RFC3987]. Every URI [RFC3986] is also 96 an IRI, so a URI may be used wherever below an IRI is named. There 97 are two special considerations: (1) when an IRI that is not also a 98 URI is given for dereferencing, it MUST be mapped to a URI using the 99 steps in Section 3.1 of [RFC3987] and (2) when an IRI is serving as 100 an identifier, it MUST NOT be so mapped. 102 Any element defined by this specification MAY have an xml:base 103 attribute [W3C.REC-xmlbase-20010627]. When xml:base is used, it 104 serves the function described in section 5.1.1 of [RFC3986], 105 establishing the base URI (or IRI) for resolving any relative 106 references found within the effective scope of the xml:base 107 attribute. 109 Any element defined by this specification MAY have an xml:lang 110 attribute, whose content indicates the natural language for the 111 element and its descendents. The language context is only 112 significant for elements and attributes declared to be "Language- 113 Sensitive". Requirements regarding the content and interpretation of 114 xml:lang are specified in XML 1.0 [W3C.REC-xml-20040204], Section 115 2.12. 117 3. The f:feature element 119 A feature is an abstract behavior, function and capability supported 120 by an Atom Publishing Protocol collection. Examples of features that 121 might be supported by an Atom publishing server include support for 122 draft entries, scheduled publication of entries, use of a particular 123 set of Atom format extensions, use of a particular authentication 124 scheme, and so on. The f:feature element can be used in an app: 125 collection element to indicate that the collection supports the 126 feature specified and may require that a client wishing to use the 127 endpoint use that feature. Features are identified using permanent, 128 universally unique IRI's. 130 namespace f = "http://purl.org/atompub/features/1.0" 132 feature = element f:feature { 133 atomCommonAttributes, 134 attribute ref { atomUri }, 135 attribute status { 'supported' | 'required' | 'unsupported'}?, 136 attribute href { atomUri }?, 137 attribute label { text }?, 138 (anyElement)* 139 } 141 anyElement = element * - f:* { 142 (attribute * { text } 143 | text 144 | anyElement)* 145 } 147 The ref attribute specifies a globally unique IRI identifying a 148 feature supported by a collection. The value of the ref attribute 149 MUST be compared on a case-sensitive, character-by-character basis. 150 Relative references MUST NOT be used. 152 The status attribute indicates a collections level of support for the 153 identified feature. The value of the attribute can be "supported", 154 "required" or "unsupported". If not specified, the value is assumed 155 to be "supported". 157 o The value "supported" indicates that the server supports the 158 identified feature. Clients MAY utilize the feature when 159 interacting with the collection. 160 o The value "required" indicates that server supports the identified 161 feature. Clients MUST utilize the feature when interacting with 162 the collection. 163 o The value "unsupported" indicates that the server explicitly does 164 not support a feature. Clients SHOULD NOT utilize the feature 165 when interacting with the collection. 167 An optional href attribute MAY be used to specify the URI of a human- 168 readable description of the feature. Relative references MAY be 169 used. 171 The optional label attribute MAY be used to specify a human-readable 172 label for the feature. The value of the label attribute is Language- 173 Sensitive as defined by Section 2 of [RFC4287]. 175 The f:feature element MAY contain child elements and attributes other 176 than those defined in this specification. Such "foreign markup" are 177 considered to be metadata applicable to the feature identified by the 178 f:feature element. Software agents MUST NOT stop processing or 179 signal an error or change their behavior as a result of encountering 180 such foreign markup. 182 An app:collection element MAY contain zero or more f:feature elements 183 but MUST NOT contain more than one with the same ref attribute value. 184 The order in which f:feature elements appear within the app: 185 collection element is insignificant. 187 The f:feature element MAY contain attributes included as part of the 188 atomCommonAttributes production defined by Section 2 of [RFC4287] or 189 any update thereof. When used on an f:feature element, such 190 attributes serve the same purpose described in [RFC4287] or their 191 corresponding specifications. 193 3.1. Example 195 The following is an example of a collection supporting one 196 hypothetical required feature, one unsupported feature, and a number 197 of supported features. 199 203 204 My Workspace 205 206 My Atom Collection 207 application/atom+xml;type=entry 208 210 212 214 216 219 223 224 225 227 3.2. Contradictory Features 229 Some combinations of features can be contradictory when the support 230 level of one or more of those features is "required" and the others 231 are "supported". For instance, a collection that specifies that 232 XHTML values in the atom:title is required and that HTML in an atom: 233 title is supported is contradictory. Such contradictions can cause 234 problems for clients that are attempting to select an appropriate 235 collection based on the support level of various features. A service 236 document MUST NOT specify contradictory features. If a client 237 determines that the features specified in a service document are 238 contradictory, the client SHOULD proceed as if the support level for 239 each of those features is "supported". 241 4. The f:type element 243 The content of an f:type element is a media-range as defined in 244 [RFC2616]. The media range specifies a type of content that can be 245 included in an atom:content element or referenced by the atom:content 246 src attribute. 248 type = 249 element f:type { 250 atomCommonAttributes, 251 ( text? ) 252 } 254 Media type parameters are allowed within f:type, but f:type has no 255 notion of preference - "accept-params" or "q" arguments, as specified 256 in Section 14.1 of [RFC2616] are not significant. 258 White space (as defined in [W3C.REC-xml-20040204]) around the f:type 259 element's media-range is insignificant and MUST be ignored. 261 Any number of f:type elements MAY appear as children of an f:feature 262 element. When used with features whose ref attributes identify the 263 "XML Content", "Binary Content" or "Reference Content" features as 264 defined in Section 6.1.1, the f:type elements specify the set of 265 media types that can be specified in the atom:content elements type 266 attribute. If no f:type element are present, clients SHOULD treat 267 this as equivalent to an f:type element with the content "*/*". 269 The order of f:type elements within a f:feature element is 270 insignificant. 272 4.1. An example f:feature using the f:type element 274 276 image/jpg 277 image/png 278 image/gif 279 text/* 280 282 5. Security Considerations 284 Specific features supported by a collection may introduce security 285 considerations and concerns beyond those discussed by the Atom 286 Publishing Protocol and Atom Syndication Format specifications. 287 Implementors must refer to the specifications and description of each 288 feature to determine the security considerations relevant to each. 290 6. IANA Considerations 292 6.1. Registry of Atom Publishing Features 294 The Registry of Atom Publishing Features is maintained by IANA and 295 contains information about known features that can be supported by 296 Atom Publishing Protocol implementations. New assignments are 297 subject to IESG approval, as outlined in [RFC2434]. Requests should 298 be made by email to IANA, which will then forward the request to the 299 IESG, requesting approval. The request should use the following 300 template: 302 o Ref: (A globally unique IRI identifying the feature) 303 o Label: (A human-readable label for the feature) 304 o Description: (A human-readable description of the feature) 305 o Support Levels: (A description of the relevant support levels for 306 the feature) 307 o Contradictory Features: (A listing of features that are 308 contradictory to this feature when one or more are marked as 309 "required") 310 o Href: (A URI referencing a document containing a detailed 311 definition of the feature) 312 o Security Considerations: 314 6.1.1. Initial Assignments 316 The Registry of Features initially contains the following 317 assignments: 319 6.1.1.1. Drafts 321 o Ref: http://www.w3.org/2007/app/drafts 322 o Label: Drafts 323 o Support Levels: 324 * "supported" indicates that the collection accepts entries that 325 contain the app:draft control element. 326 * "required" indicates that the collection requires all entries 327 to contain the app:draft control element. 328 * "unsupported" indicates that the collection does not accept 329 entries that use the app:draft control element or that the 330 server will ignore the element if present. 332 o Contradictory Features: none 333 o Description: The "Drafts" feature indicates that a collection 334 supports the use of the app:draft control element as defined in 335 section 13.1.1 of [I-D.ietf-atompub-protocol]. 337 6.1.1.2. XHTML Content 339 o Ref: http://www.w3.org/2007/app/xhtml-content 340 o Label: XHTML Content 341 o Support Levels: 342 * "supported" indicates that the collection accepts entries that 343 provide XHTML in the atom:content element. 344 * "required" indicates that the collection requires all entries 345 to provide XHTML in the atom:content element. 346 * "unsupported" indicates that the collection does not accept 347 entries that provide XHTML in the atom:content element. 348 o Contradictory Features: http://www.w3.org/2007/app/html-content, 349 http://www.w3.org/2007/app/text-content, 350 http://www.w3.org/2007/app/xml-content, 351 http://www.w3.org/2007/app/binary-content, 352 http://www.w3.org/2007/app/ref-content 353 o Description: The "XHTML Content" feature indicates that a server 354 will accept the use of an XHTML value within the atom:content 355 element. 357 6.1.1.3. HTML Content 359 o Ref: http://www.w3.org/2007/app/html-content 360 o Label: HTML Content 361 o Support Levels: 362 * "supported" indicates that the collection accepts entries that 363 provide HTML in the atom:content element. 364 * "required" indicates that the collection requires all entries 365 to provide HTML in the atom:content element. 366 * "unsupported" indicates that the collection does not accept 367 entries that provide HTML in the atom:content element. 368 o Contradictory Features: http://www.w3.org/2007/app/xhtml-content, 369 http://www.w3.org/2007/app/text-content, 370 http://www.w3.org/2007/app/xml-content, 371 http://www.w3.org/2007/app/binary-content, 372 http://www.w3.org/2007/app/ref-content 373 o Description: The "HTML Content" feature indicates that a server 374 will accept the use of an escaped HTML value within the atom: 375 content element. 377 6.1.1.4. Text Content 379 o Ref: http://www.w3.org/2007/app/text-content 380 o Label: Text Content 381 o Support Levels: 382 * "supported" indicates that the collection accepts entries that 383 provide plain text in the atom:content element. 384 * "required" indicates that the collection requires all entries 385 to provide plain text in the atom:content element. 386 * "unsupported" indicates that the collection does not accept 387 entries that provide plain text in the atom:content element. 388 o Contradictory Features: http://www.w3.org/2007/app/xhtml-content, 389 http://www.w3.org/2007/app/html-content, 390 http://www.w3.org/2007/app/xml-content, 391 http://www.w3.org/2007/app/binary-content, 392 http://www.w3.org/2007/app/ref-content 393 o Description: The "Text Content" feature indicates that a server 394 will accept the use of a plain text value within the atom:content 395 element. 397 6.1.1.5. XML Content 399 o Ref: http://www.w3.org/2007/app/xml-content 400 o Label: XML Content 401 o Support Levels: 402 * "supported" indicates that the collection accepts entries that 403 provide well-formed XML in the atom:content element. 404 * "required" indicates that the collection requires all entries 405 to provide well-formed XML in the atom:content element. 406 * "unsupported" indicates that the collection does not accept 407 entries that provide XML in the atom:content element. The MIME 408 media type of acceptable XML formats is specified using one or 409 more f:type elements within the f:feature. 410 o Contradictory Features: http://www.w3.org/2007/app/xhtml-content, 411 http://www.w3.org/2007/app/html-content, 412 http://www.w3.org/2007/app/text-content, 413 http://www.w3.org/2007/app/binary-content, 414 http://www.w3.org/2007/app/ref-content 415 o Description: The "XML Content" feature indicates that a server 416 will accept the use of well-formed XML content within the atom: 417 content element. 419 6.1.1.6. Binary Content 421 o Ref: http://www.w3.org/2007/app/binary-content 422 o Label: Binary Content 423 o Support Levels: 424 * "supported" indicates that the collection accepts entries that 425 provide binary content in the atom:content element. 426 * "required" indicates that the collection requires all entries 427 to provide binary content in the atom:content element. 428 * "unsupported" indicates that the collection does not accept 429 entries that provide binary content in the atom:content 430 element. The MIME media type of acceptable binary formats is 431 specified using one or more f:type elements within the 432 f:feature. 433 o Contradictory Features: http://www.w3.org/2007/app/xhtml-content, 434 http://www.w3.org/2007/app/html-content, 435 http://www.w3.org/2007/app/text-content, 436 http://www.w3.org/2007/app/xml-content, 437 http://www.w3.org/2007/app/ref-content 438 o Description: The "Binary Content" feature indicates that a server 439 will accept Base-64 encoded binary data within the atom:content 440 element. 442 6.1.1.7. Referenced Content 444 o Ref: http://www.w3.org/2007/app/ref-content 445 o Label: XHTML Content 446 o Support Levels: 447 * "supported" indicates that the collection accepts entries that 448 use the atom:content src attribute to reference external 449 content. 450 * "required" indicates that the collection requires all entries 451 to use the atom:content src attribute to reference external 452 content. 453 * "unsupported" indicates that the collection does not accept 454 entries that use the atom:content src attribute. The MIME 455 media type of acceptable referenced resources is specified 456 using one or more f:type elements within the f:feature. 457 o Contradictory Features: http://www.w3.org/2007/app/xhtml-content, 458 http://www.w3.org/2007/app/html-content, 459 http://www.w3.org/2007/app/text-content, 460 http://www.w3.org/2007/app/xml-content, 461 http://www.w3.org/2007/app/binary-content 462 o Description: The "Referenced Content" feature indicates that a 463 server will accept atom:content elements that use the src 464 attribute to reference external content resources. 466 6.1.1.8. XHTML Title 468 o Ref: http://www.w3.org/2007/app/xhtml-title 469 o Label: XHTML Title 470 o Support Levels: 471 * "supported" indicates that the collection accepts entries that 472 provide XHTML in the atom:title element. 473 * "required" indicates that the collectionrequires all entries to 474 provide XHTML in the atom:title element. 475 * "unsupported" indicates that the collection does not accept 476 entries that provide XHTML in the atom:title element. 477 o Contradictory Features: http://www.w3.org/2007/app/html-title, 478 http://www.w3.org/2007/app/text-title 479 o Description: The "XHTML Title" feature indicates that a server 480 will accept the use of an XHTML value within the atom:title 481 element. 483 6.1.1.9. HTML Title 485 o Ref: http://www.w3.org/2007/app/html-title 486 o Label: HTML Title 487 o Support Levels: 488 * "supported" indicates that the collection accepts entries that 489 provide HTML in the atom:title element. 490 * "required" indicates that the collection requires all entries 491 to provide HTML in the atom:title element. 492 * "unsupported" indicates that the collection does not accept 493 entries that provide HTML in the atom:title element. 494 o Contradictory Features: http://www.w3.org/2007/app/xhtml-title, 495 http://www.w3.org/2007/app/text-title 496 o Description: The "HTML Content" feature indicates that a server 497 will accept the use of an escaped HTML value within the atom:title 498 element. 500 6.1.1.10. Text Title 502 o Ref: http://www.w3.org/2007/app/text-title 503 o Label: Text Title 504 o Support Levels: 505 * "supported" indicates that the collection accepts entries that 506 provide plain text in the atom:title element. 507 * "required" indicates that the collection requires all entries 508 to provide plain text in the atom:title element. 509 * "unsupported" indicates that the collection does not accept 510 entries that provide plain text in the atom:title element. 511 o Contradictory Features: http://www.w3.org/2007/app/xhtml-title, 512 http://www.w3.org/2007/app/html-title 513 o Description: The "Text Content" feature indicates that a server 514 will accept the use of a plain text value within the atom:title 515 element. 517 6.1.1.11. XHTML Summary 519 o Ref: http://www.w3.org/2007/app/xhtml-summary 520 o Label: XHTML Summary 521 o Support Levels: 522 * "supported" indicates that the collection accepts entries that 523 provide XHTML in the atom:summary element. 524 * "required" indicates that the collection requires all entries 525 to provide XHTML in the atom:summary element. 526 * "unsupported" indicates that the collection does not accept 527 entries that provide XHTML in the atom:summary element. 528 o Contradictory Features: http://www.w3.org/2007/app/html-summary, 529 http://www.w3.org/2007/app/text-summary 530 o Description: The "XHTML Summary" feature indicates that a server 531 will accept the use of an XHTML value within the atom:summary 532 element. 534 6.1.1.12. HTML Summary 536 o Ref: http://www.w3.org/2007/app/html-summary 537 o Label: HTML Summary 538 o Support Levels: 539 * "supported" indicates that the collection accepts entries that 540 provide HTML in the atom:summary element. 541 * "required" indicates that the collection requires all entries 542 to provide HTML in the atom:summary element. 543 * "unsupported" indicates that the collection does not accept 544 entries that provide HTML in the atom:summary element. 545 o Contradictory Features: http://www.w3.org/2007/app/xhtml-summary, 546 http://www.w3.org/2007/app/text-summary 547 o Description: The "HTML Summary" feature indicates that a server 548 will accept the use of an escaped HTML value within the atom: 549 summary element. 551 6.1.1.13. Text Summary 553 o Ref: http://www.w3.org/2007/app/text-summary 554 o Label: Text Summary 555 o Support Levels: 556 * "supported" indicates that the collection accepts entries that 557 provide plain text in the atom:summary element. 558 * "required" indicates that the collection requires all entries 559 to provide plain text in the atom:summary element. 560 * "unsupported" indicates that the collection does not accept 561 entries that provide plain text in the atom:summary element. 562 o Contradictory Features: http://www.w3.org/2007/app/xhtml-summary, 563 http://www.w3.org/2007/app/html-summary 565 o Description: The "Text Summary" feature indicates that a server 566 will accept the use of a plain text value within the atom:summary 567 element. 569 6.1.1.14. Auto Summary 571 o Ref: http://www.w3.org/2007/app/auto-summary 572 o Label: Auto Summary 573 o Support Levels: 574 * "supported" indicates that the server will automatically 575 generate an atom:summary element if the entry provided by the 576 client does not already contain one. 577 * "required" indicates that the server will automatically 578 generate an atom:summary element regardless of whether the 579 entry already contains one. 580 * "unsupported" indicates that the server will not automatically 581 generate an atom:summary element. 582 o Contradictory Features: http://www.w3.org/2007/app/xhtml-summary, 583 http://www.w3.org/2007/app/html-summary, 584 http://www.w3.org/2007/app/text-summary 585 o Description: The "Auto Summary" feature indicates that a server 586 will autogenerate the value of the atom:summary element and will 587 either reject or ignore attempts by the client to modify the value 588 of atom:summary. 590 6.1.1.15. XHTML Rights 592 o Ref: http://www.w3.org/2007/app/xhtml-rights 593 o Label: XHTML Rights 594 o Support Levels: 595 * "supported" indicates that the collection accepts entries that 596 provide XHTML in the atom:rights element. 597 * "required" indicates that the collection requires all entries 598 to provide XHTML in the atom:rights element. 599 * "unsupported" indicates that the collection does not accept 600 entries that provide XHTML in the atom:rights element. 601 o Contradictory Features: http://www.w3.org/2007/app/html-rights, 602 http://www.w3.org/2007/app/text-rights 603 o Description: The "XHTML Rights" feature indicates that a server 604 will accept the use of an XHTML value within the atom:rights 605 element. 607 6.1.1.16. HTML Rights 609 o Ref: http://www.w3.org/2007/app/html-rights 610 o Label: HTML Rights 611 o Support Levels: 612 * "supported" indicates that the collection accepts entries that 613 provide HTML in the atom:rights element. 614 * "required" indicates that the collection requires all entries 615 to provide HTML in the atom:rights element. 616 * "unsupported" indicates that the collection does not accept 617 entries that provide HTML in the atom:rights element. 618 o Contradictory Features: http://www.w3.org/2007/app/xhtml-rights, 619 http://www.w3.org/2007/app/text-rights 620 o Description: The "HTML Rights" feature indicates that a server 621 will accept the use of an escaped HTML value within the atom: 622 rights element. 624 6.1.1.17. Text Rights 626 o Ref: http://www.w3.org/2007/app/text-rights 627 o Label: Text Rights 628 o Support Levels: 629 * "supported" indicates that the collection accepts entries that 630 provide plain text in the atom:rights element. 631 * "required" indicates that the collection requires all entries 632 to provide plain text in the atom:rights element. 633 * "unsupported" indicates that the collection does not accept 634 entries that provide plain text in the atom:rights element. 635 o Contradictory Features: http://www.w3.org/2007/app/xhtml-rights, 636 http://www.w3.org/2007/app/html-rights 637 o Description: The "Text Rights" feature indicates that a server 638 will accept the use of a plain text value within the atom:rights 639 element. 641 6.1.1.18. Authenticated Author 643 o Ref: http://www.w3.org/2007/app/auth-author 644 o Label: Authenticated Author 645 o Support Levels: 646 * "supported" indicates that the server will automatically 647 generate the atom:author element based on the client's 648 authenticated identity. 649 * For this feature,"required" is synonymous with "supported". 650 * "unsupported" indicates that the server will not automatically 651 generate the atom:author for an entry based on the client's 652 authenticated identity. 653 o Contradictory Features: 654 http://www.w3.org/2007/app/multiple-authors 655 o Description: The "Authenticated Author" feature indicates that a 656 server will use the authenticated identity of the client to 657 determine the values to use within the atom:author element. 658 Attempts by a client to manually set or modify the author 659 information will either be rejected or ignored by the server. 661 6.1.1.19. Slug 663 o Ref: http://www.w3.org/2007/app/slug 664 o Label: Slug 665 o Support Levels: 666 * "supported" indicates that the collection accepts the use of 667 the Slug header in POST requests. 668 * "required" indicates that the collection requires that the Slug 669 header be used for all POST requests. 670 * "unsupported" indicates that the collection will not accept the 671 use of the Slug header in POST requests or that the header will 672 be ignored. 673 o Contradictory Features: none 674 o Description: The "Slug" feature indicates that a server will use 675 the Slug request header defined in section 9.7 of 676 [I-D.ietf-atompub-protocol] to set the URI of newly created 677 resources. 679 6.1.1.20. Multiple Categories 681 o Ref: http://www.w3.org/2007/app/multiple-categories 682 o Label: Multiple Categories 683 o Support Levels: 684 * "supported" indicates that the collection accepts the use of 685 multiple atom:category elements within an entry. 686 * For this feature, "required" is synonymous with "supported". 687 * "unsupported" indicates that the collection will not accept 688 entries with multiple atom:category elements or that that 689 additional atom:category elements will be ignored. 690 o Contradictory Features: none 691 o Description: The "Multiple Categories" feature indicates that a 692 server will accept entries that contain multiple atom:category 693 elements. 695 6.1.1.21. Multiple Authors 697 o Ref: http://www.w3.org/2007/app/multiple-authors 698 o Label: Multiple Authors 699 o Support Levels: 700 * "supported" indicates that the collection accepts the use of 701 multiple atom:author elements within an entry. 702 * For this feature, "required" is synonymous with "supported". 703 * "unsupported" indicates that the collection will not accept 704 entries with multiple atom:author elements or that the 705 additional atom:author elements will be ignored. 707 o Contradictory Features: http://www.w3.org/2007/app/auth-author 708 o Description: The "Multiple Authors" feature indicates that a 709 server will accept and preserve multiple atom:author elements 710 contained by an entry. 712 6.1.1.22. Multiple Contributors 714 o Ref: http://www.w3.org/2007/app/contributors 715 o Label: Multiple Contributors 716 o Support Levels: 717 * "supported" indicates that the collection accepts the use of 718 multiple atom:contributor elements within an entry. 719 * For this feature, "required" is synonymous with "supported". 720 * "unsupported" indicates that the collection will not accept 721 entries with multiple atom:contributor elements or that the 722 additional atom:contributor elements will be ignored. 723 o Contradictory Features: none 724 o Description: The "Multiple Contributors" feature indicates that a 725 server will accept and preserve atom:contributor elements 726 contained by an entry. 728 6.1.1.23. Preserve Infoset 730 o Ref: http://www.w3.org/2007/app/preserve-infoset 731 o Label: Preserve Infoset 732 o Support Levels: 733 * "supported" indicates that the collection will store entries in 734 such a way as to preserve the complete XML infoset of the entry 735 document. 736 * For this feature, "required" is synonymous with "supported". 737 * "unsupported" indicates that the collection will not preserve 738 the complete XML infoset of the entry when storing. 739 o Contradictory Features: none 740 o Description: The "Preserve Infoset" feature indicates that a 741 server will preserve the complete XML Infoset 742 [W3C.REC-xml-infoset-20040204] of entries POST or PUT to a 743 collection. 745 6.1.1.24. Preserve IDs 747 o Ref: http://www.w3.org/2007/app/preserve-id 748 o Label: Preserve IDs 749 o Support Levels: 750 * "supported" indicates that the collection will preserve the 751 value of the atom:id element as provided by the client. 752 * For this feature, "required" is synonymous with "supported". 754 * "unsupported" indicates that the collection will not preserve 755 the value of the atom:id element as provided by the client 756 (e.g. the server will generate it's own value for the atom:id 757 element. 758 o Contradictory Features: none 759 o Description: The "Preserve IDs" feature indicates that a server 760 will preserve the value of atom:id elements as provided by a 761 client. 763 6.1.1.25. Preserve Dates 765 o Ref: http://www.w3.org/2007/app/preserve-updated 766 o Label: Preserve Dates 767 o Support Levels: 768 * "supported" indicates that the collection will preserve the 769 value of all date elements as provided by the client. 770 * For this feature,"required" is synonymous with "supported". 771 * "unsupported" indicates that the collection will not preserve 772 the value of date elements as provided by the client (e.g. the 773 server will generate it's own value for the date elements. 774 o Contradictory Features: none 775 o Description: The "Preserve Dates" feature indicates that a server 776 will preserve the value of the atom:updated and atom:published 777 elements as provided by a client. 779 6.1.1.26. Preserve Extensions 781 o Ref: http://www.w3.org/2007/app/preserve-extensions 782 o Label: Preserve Extensions 783 o Support Levels: 784 * "supported" indicates that the collection will preserve all 785 extensions contained within an entry. 786 * For this feature, "required" is synonymous with "supported". 787 * "unsupported" indicates that the collection will not preserve 788 all extensions contained within an entry, however some 789 extensions may be preserved. 790 o Contradictory Features: none 791 o Description: The "Preserve Extensions" feature indicates that a 792 server will preserve unknown foreign markup contained within an 793 entry. 795 6.1.1.27. Preserve Links 797 o Ref: http://www.w3.org/2007/app/preserve-links 798 o Label: Preserve Links 799 o Support Levels: 801 * "supported" indicates that the collection will preserve all 802 atom:link elements contained within an entry. 803 * For this feature, "required" is synonymous with "supported". 804 * "unsupported" indicates that the collection will not preserve 805 all atom:links contained within an entry, however some atom: 806 link elements may be preserved. 807 o Contradictory Features: none 808 o Description: The "Preserve Links" feature indicates that a server 809 will preserve all atom:link elements contained within an entry. 811 6.1.1.28. Preserve Rights 813 o Ref: http://www.w3.org/2007/app/preserve-rights 814 o Label: Preserve Rights 815 o Support Levels: 816 * "supported" indicates that the collection will preserve the 817 value of the atom:rights element as well as all License Links 818 [RFC4946] contained within an entry. 819 * For this feature, "required" is synonymous with "supported". 820 * "unsupported" indicates that the collection may not preserve 821 the value of the atom:rights element or all License Links 822 [RFC4946], however, some rights information may be preserved. 823 o Contradictory Features: none 824 o Description: The "Preserve Rights" feature indicates that a server 825 will preserve all atom:rights elements and License Links [RFC4946] 826 contained within an entry. 828 6.1.1.29. Threading 830 o Ref: http://purl.org/syndication/thread/1.0 831 o Label: Threading 832 o Support Levels: 833 * "supported" indicates that the collection accepts entries that 834 contain the in-reply-to element as defined by [RFC4685]. 835 * "required" indicates that the collection requires that all 836 entries contain an in-reply-to element. 837 * "unsupported" indicates that the collection will not accept 838 entries containing the in-reply-to element or that the element 839 will be ignored if present. 840 o Contradictory Features: none 841 o Description: The Feed Thread feature indicates that the collection 842 accepts entries that contain the in-reply-to element as defined by 843 [RFC4685]. 845 6.1.1.30. Scheduled Publishing 846 o Ref: http://www.w3.org/2007/app/scheduled-publishing 847 o Label: Scheduled Publishing 848 o Support Levels: 849 * "supported" indicates that the collection allows clients to 850 specify a future instant in time for the atom:published element 851 when the entry should be made publicly available. 852 * "required" indicates that the collection requires clients to 853 specify a future instant in time for the atom:published 854 element. 855 * "unsupported" indicates that the collection will not allow 856 clients to specify a future instance in time for the atom: 857 published element. 858 o Contradictory Features: none 859 o Description: The "Scheduled Publishing" feature indicates that a 860 collection allows clients to set the value of an entries atom: 861 published element to some future point in time after which the 862 entry will be made publicly visible. Prior to that time, the 863 entry will be considered to be in a draft state and SHOULD contain 864 an app:draft control element with a value of "yes". 866 7. Normative References 868 [I-D.ietf-atompub-protocol] 869 Hora, B. and J. Gregorio, "The Atom Publishing Protocol", 870 draft-ietf-atompub-protocol-17 (work in progress), 871 July 2007. 873 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 874 Requirement Levels", BCP 14, RFC 2119, March 1997. 876 [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an 877 IANA Considerations Section in RFCs", BCP 26, RFC 2434, 878 October 1998. 880 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 881 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 882 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 884 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 885 Resource Identifier (URI): Generic Syntax", STD 66, 886 RFC 3986, January 2005. 888 [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource 889 Identifiers (IRIs)", RFC 3987, January 2005. 891 [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom 892 Syndication Format", RFC 4287, December 2005. 894 [RFC4685] Snell, J., "Atom Threading Extensions", RFC 4685, 895 September 2006. 897 [RFC4946] Snell, J., "Atom License Extension", RFC 4946, July 2007. 899 [W3C.REC-xml-20040204] 900 Maler, E., Sperberg-McQueen, C., Paoli, J., Yergeau, F., 901 and T. Bray, "Extensible Markup Language (XML) 1.0 (Third 902 Edition)", World Wide Web Consortium FirstEdition REC-xml- 903 20040204, February 2004, 904 . 906 [W3C.REC-xml-infoset-20040204] 907 Tobin, R. and J. Cowan, "XML Information Set (Second 908 Edition)", World Wide Web Consortium Recommendation REC- 909 xml-infoset-20040204, February 2004, 910 . 912 [W3C.REC-xml-names-19990114] 913 Hollander, D., Bray, T., and A. Layman, "Namespaces in 914 XML", World Wide Web Consortium FirstEdition REC-xml- 915 names-19990114, January 1999, 916 . 918 [W3C.REC-xmlbase-20010627] 919 Marsh, J., "XML Base", World Wide Web Consortium 920 Recommendation REC-xmlbase-20010627, June 2001, 921 . 923 Appendix A. Acknowledgements 925 The author acknowledges the feedback from the other members of the 926 IETF Atom Publishing working group during the development of this 927 specification. 929 Author's Address 931 James M Snell 933 Phone: 934 Email: jasnell@gmail.com 935 URI: http://snellspace.com 937 Full Copyright Statement 939 Copyright (C) The IETF Trust (2007). 941 This document is subject to the rights, licenses and restrictions 942 contained in BCP 78, and except as set forth therein, the authors 943 retain all their rights. 945 This document and the information contained herein are provided on an 946 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 947 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 948 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 949 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 950 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 951 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 953 Intellectual Property 955 The IETF takes no position regarding the validity or scope of any 956 Intellectual Property Rights or other rights that might be claimed to 957 pertain to the implementation or use of the technology described in 958 this document or the extent to which any license under such rights 959 might or might not be available; nor does it represent that it has 960 made any independent effort to identify any such rights. Information 961 on the procedures with respect to rights in RFC documents can be 962 found in BCP 78 and BCP 79. 964 Copies of IPR disclosures made to the IETF Secretariat and any 965 assurances of licenses to be made available, or the result of an 966 attempt made to obtain a general license or permission for the use of 967 such proprietary rights by implementers or users of this 968 specification can be obtained from the IETF on-line IPR repository at 969 http://www.ietf.org/ipr. 971 The IETF invites any interested party to bring to its attention any 972 copyrights, patents or patent applications, or other proprietary 973 rights that may cover technology that may be required to implement 974 this standard. Please address the information to the IETF at 975 ietf-ipr@ietf.org. 977 Acknowledgment 979 Funding for the RFC Editor function is provided by the IETF 980 Administrative Support Activity (IASA).