idnits 2.17.1 draft-ietf-atompub-format-00.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 3667, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 800. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 777. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 784. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 790. ** Found boilerplate matching RFC 3978, Section 5.4, paragraph 1 (on line 806), which is fine, but *also* found old RFC 2026, Section 10.4C, paragraph 1 text on line 36. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement -- however, there's a paragraph with a matching beginning. Boilerplate error? ** 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. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, or will be disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. 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 (July 8, 2004) is 7231 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'Atom-protocol' ** Obsolete normative reference: RFC 2396 (Obsoleted by RFC 3986) ** Obsolete normative reference: RFC 2822 (Obsoleted by RFC 5322) ** Obsolete normative reference: RFC 3023 (Obsoleted by RFC 7303) ** Obsolete normative reference: RFC 3066 (Obsoleted by RFC 4646, RFC 4647) -- Possible downref: Non-RFC (?) normative reference: ref. '1' -- Possible downref: Non-RFC (?) normative reference: ref. '2' Summary: 10 errors (**), 0 flaws (~~), 2 warnings (==), 10 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Nottingham, Ed. 3 Internet-Draft July 8, 2004 4 Expires: January 6, 2005 6 The Atom Syndication Format 7 draft-ietf-atompub-format-00 9 Status of this Memo 11 By submitting this Internet-Draft, I certify that any applicable 12 patent or other IPR claims of which I am aware have been disclosed, 13 and any of which I become aware will be disclosed, in accordance with 14 RFC 3668. 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 19 Internet-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 January 6, 2005. 34 Copyright Notice 36 Copyright (C) The Internet Society (2004). All Rights Reserved. 38 Abstract 40 This specification describes Atom, an XML-based Web content and 41 metadata syndication format. 43 Table of Contents 45 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 46 1.1 Editorial Notes . . . . . . . . . . . . . . . . . . . . . 4 47 1.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . 5 48 1.3 Conformance . . . . . . . . . . . . . . . . . . . . . . . 5 49 1.4 Notational Conventions . . . . . . . . . . . . . . . . . . 5 50 2. Atom Documents . . . . . . . . . . . . . . . . . . . . . . . . 6 51 3. Common Atom Constructs . . . . . . . . . . . . . . . . . . . . 7 52 3.1 Content Constructs . . . . . . . . . . . . . . . . . . . . 7 53 3.1.1 "type" Attribute . . . . . . . . . . . . . . . . . . . 7 54 3.1.2 "mode" Attribute . . . . . . . . . . . . . . . . . . . 7 55 3.2 Person Constructs . . . . . . . . . . . . . . . . . . . . 7 56 3.2.1 "atom:name" Element . . . . . . . . . . . . . . . . . 7 57 3.2.2 "atom:url" Element . . . . . . . . . . . . . . . . . . 8 58 3.2.3 "atom:email" Element . . . . . . . . . . . . . . . . . 8 59 3.3 Date Constructs . . . . . . . . . . . . . . . . . . . . . 8 60 3.4 Link Constructs . . . . . . . . . . . . . . . . . . . . . 8 61 3.4.1 "rel" Attribute . . . . . . . . . . . . . . . . . . . 8 62 3.4.2 "type" Attribute . . . . . . . . . . . . . . . . . . . 8 63 3.4.3 "href" Attribute . . . . . . . . . . . . . . . . . . . 9 64 3.4.4 "hreflang" Attribute . . . . . . . . . . . . . . . . . 9 65 3.4.5 "title" Attribute . . . . . . . . . . . . . . . . . . 9 66 4. The "atom:feed" Element . . . . . . . . . . . . . . . . . . . 9 67 4.1 "version" Attribute . . . . . . . . . . . . . . . . . . . 9 68 4.2 "xml:lang" Attribute . . . . . . . . . . . . . . . . . . . 10 69 4.3 "atom:title" Element . . . . . . . . . . . . . . . . . . . 10 70 4.4 "atom:link" Element . . . . . . . . . . . . . . . . . . . 10 71 4.5 "atom:author" Element . . . . . . . . . . . . . . . . . . 10 72 4.6 "atom:contributor" Element . . . . . . . . . . . . . . . . 10 73 4.7 "atom:tagline" Element . . . . . . . . . . . . . . . . . . 10 74 4.8 "atom:id" Element . . . . . . . . . . . . . . . . . . . . 11 75 4.9 "atom:generator" Element . . . . . . . . . . . . . . . . . 11 76 4.10 "atom:copyright" Element . . . . . . . . . . . . . . . . . 11 77 4.11 "atom:info" Element . . . . . . . . . . . . . . . . . . . 12 78 4.12 "atom:modified" Element . . . . . . . . . . . . . . . . . 12 79 4.13 "atom:entry" Element . . . . . . . . . . . . . . . . . . . 12 80 4.13.1 "atom:title" Element . . . . . . . . . . . . . . . . . 13 81 4.13.2 "atom:link" Element . . . . . . . . . . . . . . . . . 13 82 4.13.3 "atom:author" Element . . . . . . . . . . . . . . . . 13 83 4.13.4 "atom:contributor" Element . . . . . . . . . . . . . . 13 84 4.13.5 "atom:id" Element . . . . . . . . . . . . . . . . . . 13 85 4.13.6 "atom:modified" Element . . . . . . . . . . . . . . . 14 86 4.13.7 "atom:issued" Element . . . . . . . . . . . . . . . . 14 87 4.13.8 "atom:created" Element . . . . . . . . . . . . . . . . 14 88 4.13.9 "atom:summary" Element . . . . . . . . . . . . . . . . 14 89 4.13.10 "atom:content" Element . . . . . . . . . . . . . . . 14 90 4.13.11 "atom:copyright" Element . . . . . . . . . . . . . . 15 92 5. Managing Feed State . . . . . . . . . . . . . . . . . . . . . 15 93 6. Embedding Atom in Other Formats . . . . . . . . . . . . . . . 15 94 7. Extending Atom . . . . . . . . . . . . . . . . . . . . . . . . 15 95 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 96 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 97 10. Normative References . . . . . . . . . . . . . . . . . . . . 16 98 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 17 99 A. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 17 100 B. Revision History . . . . . . . . . . . . . . . . . . . . . . . 17 101 Intellectual Property and Copyright Statements . . . . . . . . 19 103 1. Introduction 105 Atom is an XML-based file format intended to allow lists of related 106 information, known as "feeds", to be synchronised between publishers 107 and consumers. Feeds are composed of a number of items, known as 108 "entries", each with an extensible set of attached metadata. For 109 example, each entry has a title. 111 The primary use case that Atom addresses is the syndication of Web 112 content such as Weblogs and news headlines, to Web sites as well as 113 directly to consumers. However, nothing precludes it from being used 114 for other purposes and kinds of content. 116 Details of comunication protocols between software agents using Atom 117 can be found in the Atom Protocol specification [Atom-protocol]. 119 [[ more motivation / design principles ]] 121 1.1 Editorial Notes 123 The Atom format is a work-in-progress, and this draft is both 124 incomplete and likely to change rapidly. As a result, THE FORMAT 125 DESCRIBED BY THIS DRAFT SHOULD NOT BE DEPLOYED, either in production 126 systems or in any non-experimental fashion on the Internet. 128 Discussion of this draft happens in two fora; 130 The mailing list [1] 131 The Atom Wiki Web site [2] 133 Active development takes place on the mailing list, while the Wiki is 134 used for issue tracking and new proposals. 136 This document is an early draft and known to be incomplete. Topics 137 marked [[like this]] indicate where additional text is likely to be 138 added. 140 1.2 Example 142 A minimal, single-entry Atom feed serialized as XML 1.0: 144 145 147 Example 148 150 2003-12-13T18:30:02Z 151 152 John Doe 153 154 155 Atom 0.3 snapshot 156 158 tag:example.org,2003:3.2397 159 2003-12-13T08:29:29-04:00 160 2003-12-13T18:30:02Z 161 162 164 1.3 Conformance 166 [[ talk about atom documents and atom consumers, and how requirements 167 are placed on them ]] 169 1.4 Notational Conventions 171 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 172 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 173 document are to be interpreted as described in [RFC2119]. 175 This specification uses XML Namespaces [W3C.REC-xml-names-19990114] 176 to uniquely identify XML elements and attribute names. It uses the 177 following namespace prefixes for the indicated namespace URIs; 179 "atom": http://purl.org/atom/ns#draft-ietf-atompub-format-00 181 Note that the choice of any namespace prefix is arbitrary and not 182 semantically significant. 184 Atom is specified using the XML Infoset 185 [W3C.REC-xml-infoset-20011024]. However, this specification uses a 186 shorthand for common terms; the phrase "Information Item" is not used 187 when naming XML constructs. 189 Therefore, when this specification uses the term "element," it is 190 refering to an Element Information Item in Infoset terms. Likewise, 191 when it uses the term "attribute," it is refering to an Attribute 192 Information Item. 194 2. Atom Documents 196 An Atom document is an XML document whose document element is the 197 atom:feed element, as described below. 199 Atom documents are specified in terms of the XML Information Set, 200 serialised as XML 1.0 and identified with the "application/atom+xml" 201 media type. 203 Atom documents MAY have a Document Type Declaration. 205 [[Entities]] 207 Atom documents SHOULD NOT contain Processing Instructions, unless 208 they are a commonly used convention outside the scope of Atom (e.g., 209 the PI for XSLT processing). 211 Atom documents MAY contain Comments. 213 All elements and attributes in an Atom document MUST be 214 namespace-qualified. Note that this requirement does not preclude 215 the use of a default namespace. 217 Any element in an Atom document MAY have an xml:base attribute. XML 218 Base [W3C.REC-xmlbase-20010627] processing MUST be applied to any 219 relative URI reference present in an Atom document. This includes 220 such elements and attributes as specified by Atom itself, as well as 221 those specified by extensions to Atom. 223 Any element in an Atom document MAY have an xml:lang attribute, whose 224 content indicates the default natural language of the element's 225 content. The content of this attribute MUST be a language tag 226 [RFC3066]. When determining element content's natural language, the 227 first xml:lang attribute encountered in that element's ancestors MUST 228 be used. 230 Atom is extensible. See the section titled 'Extending Atom' later in 231 this document for a full description of how extensions can be made to 232 the format. 234 3. Common Atom Constructs 236 Many of Atom's elements share a common structure. This section 237 defines a few such structures and their requirements, for convenient 238 reference by the appropriate element definitions. 240 When an element is identified as being a construct, it inherits the 241 corresponding requirements from that construct's definition in this 242 section. 244 3.1 Content Constructs 246 A Content construct is an element with arbitrary child content, whose 247 properties are described by the following attributes: 249 3.1.1 "type" Attribute 251 Content constructs MAY have a "type" attribute, whose value indicates 252 the media type of the content. When present, this attribute's value 253 MUST be a registered media type [RFC2045]. If not present, its value 254 MUST be considered to be "text/plain". 256 3.1.2 "mode" Attribute 258 Content constructs MAY have a "mode" attribute, whose value indicates 259 the method used to encode the content. When present, this 260 attribute's value MUST be listed below. If not present, its value 261 MUST be considered to be "xml". 263 "xml": A mode attribute with the value "xml" indicates that the 264 element's content is inline xml (for example, namespace-qualified 265 XHTML). 266 "escaped": A mode attribute with the value "escaped" indicates that 267 the element's content is an escaped string. Processors MUST 268 unescape the element's content before considering it as content of 269 the indicated media type. 270 "base64": A mode attribute with the value "base64" indicates that 271 the element's content is base64-encoded [RFC2045]. Processors 272 MUST decode the element's content before considering it as content 273 of the the indicated media type. 275 3.2 Person Constructs 277 A Person construct is an element with the following children: 279 3.2.1 "atom:name" Element 281 The "atom:name" element's content conveys a human-readable name for 282 the author. It MAY be the name of a corporation or other entity no 283 individual authors can be named. Person constructs MUST contain 284 exactly one "atom:name" element, whose content MUST be a string. 286 3.2.2 "atom:url" Element 288 The "atom:url" element's content conveys a URI associated with the 289 author. Person constructs MAY contain an atom:url element, but MUST 290 NOT contain more than one. The content of atom:url in a Person 291 construct MUST be a URI [RFC2396]. 293 xml:base [W3C.REC-xmlbase-20010627] processing MUST be applied to the 294 atom:url element's content. 296 3.2.3 "atom:email" Element 298 The "atom:email" element's content conveys an e-mail address 299 associated with the Person construct. Person constructs MAY contain 300 an atom:email element, but MUST NOT contain more than one. Its 301 content MUST be an e-mail address [RFC2822]. 303 Ordering of the element children of Person constructs MUST NOT be 304 considered significant. 306 3.3 Date Constructs 308 A Date construct is an element whose child content is a W3C Date-Time 309 string [W3C.NOTE-datetime-19980827]. 311 3.4 Link Constructs 313 A Link construct is an element that MUST NOT have any child content, 314 and has the following attributes: 316 3.4.1 "rel" Attribute 318 The "rel" attribute indicates the type of relationship that the link 319 represents. Link constructs MUST have a rel attribute, whose value 320 MUST be a string, and MUST be one of the values enumerated in the 321 Atom Protocol specification [Atom-protocol]. 323 3.4.2 "type" Attribute 325 The "type" attribute indicates an advisory media type; it MAY be used 326 as a hint to determine the type of the representation which should be 327 returned when the URI in the href attribute is dereferenced. Note 328 that the type attribute does not override the actual media type 329 returned with the representation. 331 Link constructs MUST have a type attribute, whose value MUST be a 332 registered media type [RFC2045]. 334 3.4.3 "href" Attribute 336 The "href" attribute contains the link's URI. Link constructs MUST 337 have a href attribute, whose value MUST be a URI [RFC2396]. 339 xml:base [W3C.REC-xmlbase-20010627] processing MUST be applied to the 340 href attribute's content. 342 3.4.4 "hreflang" Attribute 344 The "hreflang" attribute's content describes the language of the 345 resource pointed to by the href attribute. When used together with 346 the rel="alternate", it implies a translated version of the entry. 347 Link constructs MAY have an hreflang attribute, whose value MUST be a 348 language tag [RFC3066]. 350 3.4.5 "title" Attribute 352 The "title" attribute conveys human-readable information about the 353 link. Link constructs MAY have a title attribute, whose value MUST 354 be a string. 356 4. The "atom:feed" Element 358 The "atom:feed" element is the document (i.e., top-level) element of 359 the format described by this specification. Its children are a 360 (potentially partial) representation of the state of the feed. 362 The atom:feed element MAY contain any namespace-qualified 363 [W3C.REC-xml-names-19990114] elements as children. Ordering of the 364 element children of atom:feed element MUST NOT be considered 365 significant. 367 The following attributes and child elements are defined by this 368 specification (note that it requires the presence of some of these 369 elements): 371 4.1 "version" Attribute 373 atom:feed elements MUST have a "version" attribute whose content 374 indicates the version of the Atom specification that the construct 375 conforms to. The content of this attribute is unstructured text. 377 The version identifier for this specification is 378 "draft-ietf-atompub-format-00: do not deploy". 380 4.2 "xml:lang" Attribute 382 atom:feed elements SHOULD have an "xml:lang" attribute whose content 383 indicates the default natural language of the feed. The content of 384 this attribute MUST be a language tag [RFC3066]. 386 4.3 "atom:title" Element 388 The "atom:title" element is a Content construct that conveys a 389 human-readable title for the feed. atom:feed elements MUST contain 390 exactly one atom:title element. If the feed describes a Web 391 resource, its content SHOULD be the same as that resource's title. 393 4.4 "atom:link" Element 395 The "atom:link" element is a Link construct that conveys a URI 396 associated with the feed. The nature of the relationship as well as 397 the link itself is determined by the element's content. 399 atom:feed elements MUST contain at least one atom:link element with a 400 rel attribute value of "alternate". 402 atom:feed elements MUST NOT contain more than one atom:link element 403 with a rel attribute value of "alternate" that has the same type 404 attribute value. 406 atom:feed elements MAY contain additional atom:link elements beyond 407 those described above. 409 4.5 "atom:author" Element 411 The "atom:author" element is a Person construct that indicates the 412 default author of the feed. atom:feed elements MUST contain exactly 413 one atom:author element, UNLESS all of the atom:feed element's child 414 atom:entry elements contain an atom:author element. atom:feed 415 elements MUST NOT contain more than one atom:author element. 417 [[explain inheritence]] 419 4.6 "atom:contributor" Element 421 The "atom:contributor" element is a Person construct that indicates a 422 person or other entity who contributes to the feed. atom:feed 423 elements MAY contain one or more atom:contributor elements. 425 4.7 "atom:tagline" Element 427 The "atom:tagline" element is a Content construct that conveys a 428 human-readable description or tagline for the feed. atom:feed 429 elements MAY contain an atom:tagline element, but MUST NOT contain 430 more than one. 432 4.8 "atom:id" Element 434 The "atom:id" element's content conveys a permanent, globally unique 435 identifier for the feed. It MUST NOT change over time, even if the 436 feed is relocated. atom:feed elements MAY contain an atom:id 437 element, but MUST NOT contain more than one. The content of this 438 element, when present, MUST be a URI. 440 xml:base [W3C.REC-xmlbase-20010627] processing MUST be applied to the 441 atom:id element's content. 443 4.9 "atom:generator" Element 445 The "atom:generator" element's content indentifies the software agent 446 used to generate the feed, for debugging and other purposes. 447 atom:feed elements MAY contain an atom:generator element, but MUST 448 NOT contain more than one. 450 The content of this element, when present, MUST be a string that is a 451 human-readable name for the generating agent. 453 The atom:generator element MAY have a "url" attribute whose value 454 MUST be a URI. When dereferenced, that URI SHOULD produce a 455 representation that is relevant to that agent. 457 The atom:generator element MAY have a "version" attribute that 458 indicates the version of the generating agent. When present, its 459 value MUST be a string. 461 4.10 "atom:copyright" Element 463 The "atom:copyright" element is Content construct that conveys a 464 human-readable copyright statement for the feed. atom:feed elements 465 MAY contain an atom:copyright element, but MUST NOT contain more than 466 one. 468 The atom:copyright element SHOULD NOT be used to convey 469 machine-readable licensing information. 471 The atom:copyright may be assumed to apply to all entries contained 472 by the feed except those entries which contain atom:copyright 473 elements. The atom:copyright element MUST, if present, be considered 474 to apply to the feed as a collection of entries. 476 4.11 "atom:info" Element 478 The "atom:info" element is a Content construct that conveys a 479 human-readable explanation of the feed format itself. atom:feed 480 elements MAY contain an atom:info element, but MUST NOT contain more 481 than one. 483 The atom:info element SHOULD NOT considered meaningful by processors; 484 it is a convenience to publishers in certain situations. 486 4.12 "atom:modified" Element 488 The "atom:modified" element is a Date construct that indicates the 489 time when the state of the feed was last modified, including any 490 changes to entries therein. atom:feed elements MUST contain exactly 491 one atom:modified element. 493 The content of an atom:modified element SHOULD have a time zone whose 494 value MUST be "UTC". 496 4.13 "atom:entry" Element 498 The "atom:entry" element represents an individual entry that is 499 contained by the feed. atom:feed elements MAY contain one or more 500 atom:entry elements. 502 atom:entry elements MAY have an "xml:lang" attribute whose content 503 indicates the default natural language of the entry. If the language 504 of the atom:entry is different from the language of the feed then the 505 atom:entry SHOULD have an "xml:lang" attribute. The content of this 506 attribute element MUST be a language tag [RFC3066] or an empty string 507 (e.g., xml:lang=""), which indicates that there is no language 508 information available. 510 If used alone, atom:entry elements MUST have a "version" attribute 511 whose content indicates the version of the Atom specification that 512 the construct conforms to. 514 The atom:entry element MAY contain any namespace-qualified 515 [W3C.REC-xml-names-19990114] elements as children. Ordering of the 516 element children of atom:entry element MUST NOT be considered 517 significant. 519 The following child elements are defined by this specification (note 520 that it requires the presence of some of these elements): 522 4.13.1 "atom:title" Element 524 The "atom:title" element is a Content construct that conveys a 525 human-readable title for the entry. atom:entry elements MUST have 526 exactly one "atom:title" element. If an entry describes a Web 527 resource, its content SHOULD be the same as that resource's title. 529 4.13.2 "atom:link" Element 531 The "atom:link" element is a Link construct that conveys a URI 532 associated with the entry. The nature of the relationship as well as 533 the link itself is determined by the element's content. 535 atom:entry elements MUST contain at least one atom:link element with 536 a rel attribute value of "alternate". 538 atom:entry elements MUST NOT contain more than one atom:link element 539 with a rel attribute value of "alternate" that has the same type 540 attribute value. 542 atom:entry elements MAY contain additional atom:link elements beyond 543 those described above. 545 4.13.3 "atom:author" Element 547 The "atom:author" element is a Person construct that indicates the 548 default author of the entry. atom:entry elements MUST contain 549 exactly one atom:author element, UNLESS the atom:feed element 550 containing them contains an atom:author element itself. atom:entry 551 elements MUST NOT contain more than one atom:author element. 553 [[explain inheritence]] 555 4.13.4 "atom:contributor" Element 557 The "atom:contributor" element is a Person construct that indicates a 558 person or other entity who contributes to the entry. atom:entry 559 elements MAY contain one or more atom:contributor elements. 561 4.13.5 "atom:id" Element 563 The "atom:id" element's content conveys a permanent, globally unique 564 identifier for the entry. It MUST NOT change over time, even if 565 other representations of the entry (such as a web representation 566 pointed to by the entry's atom:link element) are relocated. If the 567 same entry is syndicated in two atom:feeds published by the same 568 entity, the entry's atom:id MUST be the same in both feeds. 570 4.13.6 "atom:modified" Element 572 The "atom:modified" element is a Date construct that indicates the 573 time that the entry was last modified. atom:entry elements MUST 574 contain an atom:modified element, but MUST NOT contain more than one. 576 The content of an atom:modified element MUST have a time zone whose 577 value SHOULD be "UTC". 579 4.13.7 "atom:issued" Element 581 The "atom:issued" element is a Date construct that indicates the time 582 that the entry was issued. atom:entry elements MUST contain an 583 atom:issued element, but MUST NOT contain more than one. 585 The content of an atom:issued element MAY omit a time zone. 587 4.13.8 "atom:created" Element 589 The "atom:created" element is a Date construct that indicates the 590 time that the entry was created. atom:entry elements MAY contain an 591 atom:created element, but MUST NOT contain more than one. 593 The content of an atom:created element MUST have a time zone whose 594 value SHOULD be "UTC". 596 If atom:created is not present, its content MUST considered to be the 597 same as that of atom:modified. 599 4.13.9 "atom:summary" Element 601 The "atom:summary" element is a Content construct that conveys a 602 short summary, abstract or excerpt of the entry. atom:entry elements 603 MAY contain an atom:created element, but MUST NOT contain more than 604 one. 606 4.13.10 "atom:content" Element 608 The "atom:content" element is a Content construct that conveys the 609 content of the entry. atom:entry elements MAY contain one or more 610 atom:content elements. 612 If @type="multipart/alternative", @mode MUST NOT be specified, and 613 content element MUST contain 1 or more content elements. These 614 content elements MUST NOT specify @type="multipart/alternative" (i.e. 615 only one level of nesting is allowed). Consumers SHOULD look at all 616 alternative content elements and determine which one is most 617 suitable, based on which @type and @mode the consumer supports, and 618 preferences specified by the end user (if any). Consumers SHOULD NOT 619 render more than one content alternative. 621 4.13.11 "atom:copyright" Element 623 The "atom:copyright" element is a Content construct that conveys a 624 human-readable copyright statement for the entry. atom:entry 625 elements MAY contain an atom:copyright element, but MUST NOT contain 626 more than one. 628 The atom:copyright element SHOULD NOT be used to convey 629 machine-readable licensing information. 631 If an atom:entry element does not contain an atom:copyright element, 632 then the atom:copyright element of the containing atom:feed, if 633 present, should be considered to apply to the atom:entry. 635 5. Managing Feed State 637 [[ talk about what it means to keep a view of a feed ]] 639 6. Embedding Atom in Other Formats 641 [[ ... ]] 643 7. Extending Atom 645 [[ ... ]] 647 8. IANA Considerations 649 The Atom format, when serialized as XML 1.0, can be identified with 650 the following media type: 652 MIME media type name: application 653 MIME subtype name: atom+xml 654 Mandatory parameters: None. 655 Optional parameters: 656 "charset": This parameter has identical semantics to the charset 657 parameter of the "application/xml" media type as specified in 658 RFC 3023 [RFC3023]. [RFC3023]. 659 Encoding considerations: Identical to those of "application/xml" as 660 described in RFC 3023 [RFC3023], section 3.2. 661 Security considerations: As defined in this specification. [[update 662 upon publication]] 663 In addition, as this media type uses the "+xml" convention, it 664 shares the same security considerations as described in RFC 3023 665 [RFC3023], section 10. 666 Interoperability considerations: There are no known interoperability 667 issues. 668 Published specification: This specification. [[update upon 669 publication]] 670 Applications which use this media type: No known applications 671 currently use this media type. 673 Additional information: 675 Magic number(s): As specified for "application/xml" in RFC 3023 676 [RFC3023], section 3.2. 677 File extension: .atom 678 Fragment identifiers: As specified for "application/xml" in RFC 3023 679 [RFC3023], section 5. 680 Base URI: As specified in RFC 3023 [RFC3023], section 6. 681 Macintosh File Type code: TEXT 682 Person and email address to contact for further information: Mark 683 Nottingham 684 Intended usage: COMMON 685 Author/Change controller: This specification's author(s). [[update 686 upon publication]] 688 9. Security Considerations 690 [[ this is required ]] 692 10 Normative References 694 [Atom-protocol] 695 Gregorio, J. and R. Sayre, "The Atom Publishing Protocol", 696 work-in-progress, July 2004. 698 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 699 Extensions (MIME) Part One: Format of Internet Message 700 Bodies", RFC 2045, November 1996. 702 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 703 Requirement Levels", BCP 14, RFC 2119, March 1997. 705 [RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform 706 Resource Identifiers (URI): Generic Syntax", RFC 2396, 707 August 1998. 709 [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April 710 2001. 712 [RFC3023] Murata, M., St. Laurent, S. and D. Kohn, "XML Media 713 Types", RFC 3023, January 2001. 715 [RFC3066] Alvestrand, H., "Tags for the Identification of 716 Languages", BCP 47, RFC 3066, January 2001. 718 [W3C.NOTE-datetime-19980827] 719 Wolf, M. and C. Wicksteed, "Date and Time Formats", W3C 720 NOTE NOTE-datetime-19980827, August 1998. 722 [W3C.REC-xml-infoset-20011024] 723 Cowan, J. and R. Tobin, "XML Information Set", W3C REC 724 REC-xml-infoset-20011024, October 2001. 726 [W3C.REC-xml-names-19990114] 727 Bray, T., Hollander, D. and A. Layman, "Namespaces in 728 XML", W3C REC REC-xml-names-19990114, January 1999. 730 [W3C.REC-xmlbase-20010627] 731 Marsh, J., "XML Base", W3C REC REC-xmlbase-20010627, June 732 2001. 734 [1] 736 [2] 738 Author's Address 740 Mark Nottingham (editor) 742 EMail: mnot@pobox.com 743 URI: http://www.mnot.net/ 745 Appendix A. Contributors 747 The following people contributed to preliminary drafts of this 748 document: Tim Bray, Mark Pilgrim, and Sam Ruby. The content and 749 concepts within are a product of the Atom community and the Atom 750 Publishing Format and Protocol Working Group. 752 Appendix B. Revision History 754 [[ this section should be removed before final publication. ]] 755 2004-07-06 (-00): Initial IETF Internet-Draft submission. 756 Added optional version attribute to entry 757 (PaceEntryElementNeedsVersionAttribute). 758 Added hreflang attribute (PaceHrefLang). 759 Clarified inheritence of copyright element (PaceItemCopyright). 760 Added xml:lang to entries (PaceItemLang). 761 Tweaked Infoset-related language (PaceNoInfoSet). 762 Clarified lack of structure in version attribute 763 (PaceVersionAsText). 764 Changed approach to XML Base (PaceXmlBaseEverywhere). 765 Added XML Base processing to atom:id (PaceXmlBaseId). 766 Various editorial cleanup and adjustments for IETF publication. 768 Intellectual Property Statement 770 The IETF takes no position regarding the validity or scope of any 771 Intellectual Property Rights or other rights that might be claimed to 772 pertain to the implementation or use of the technology described in 773 this document or the extent to which any license under such rights 774 might or might not be available; nor does it represent that it has 775 made any independent effort to identify any such rights. Information 776 on the procedures with respect to rights in RFC documents can be 777 found in BCP 78 and BCP 79. 779 Copies of IPR disclosures made to the IETF Secretariat and any 780 assurances of licenses to be made available, or the result of an 781 attempt made to obtain a general license or permission for the use of 782 such proprietary rights by implementers or users of this 783 specification can be obtained from the IETF on-line IPR repository at 784 http://www.ietf.org/ipr. 786 The IETF invites any interested party to bring to its attention any 787 copyrights, patents or patent applications, or other proprietary 788 rights that may cover technology that may be required to implement 789 this standard. Please address the information to the IETF at 790 ietf-ipr@ietf.org. 792 Disclaimer of Validity 794 This document and the information contained herein are provided on an 795 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 796 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 797 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 798 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 799 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 800 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 802 Copyright Statement 804 Copyright (C) The Internet Society (2004). This document is subject 805 to the rights, licenses and restrictions contained in BCP 78, and 806 except as set forth therein, the authors retain all their rights. 808 Acknowledgment 810 Funding for the RFC Editor function is currently provided by the 811 Internet Society.