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.