RFC TOC
APE (Atom / Pie / Echo) Working Group M NOTTINGHAM DECEMBER 2003
The atom Syndication Format (pre-draft)
Draft-nottingham-atom-format-00a
Abstract
This Specification Describes Version 0.2 of the atom, An Xml-based Web Content and Metadata Syndication Format.
Editorial Notes
............................... ..
Discussion of this Draft happens in two fora;
THE
Atom Syntax Mailing List
THE
Atom Wiki Web Site
Comments and suggestions can be be directed to the mailing list, Whilst Active Development Happens on the wiki.
Sections Called Out [[Like this]] Indicate Editorial Notes That Should Be Removed Before Publication.
RFC TOC
Table of contents
1 Introduction 1.1 Conformance 1.2 Notational Conventions2 Atom's Use of XML3 Atom XML Constructs 3.1 The "atom: feed" Construct 3.1.1 "version" Attribute 3.1.2 "xml: lang" Attribute 3.1.3 "atom: title" Element 3.1.4 "atom: link" Element 3.1.5 "Atom: Modified" Element 3.1.6 "Atom: AUTHOR" Element 3.1.8 "Atom: id" Element 3.1.9 "Atom: generator" Element 3.1.10 "Atom: Copyright" Element 3.1.11 "Atom: Contributor" Element 3.1.12 "Atom: entry" Element 3.2 The "Atom: entry" construct 3.2.1 "Atom: title" Element 3.2.2 "Atom : LINK "Element 3.2.3" Atom: Modified "Element 3.2.4" Atom: Author "Element 3.2.6" Atom: id "Element 3.2.7" Atom: Issued "Element 3.2 .8 "atom: created" Element 3.2.9 "Atom: summary" Element 3.2.10 "Atom: Content" Element 3.3 "Atom: Author" Element 3.3.1 "Atom: Name" Element 3.3.2 "Atom: URL" ELEMENT 3.3.3 "Atom: email" Element 3.4 "Atom: Control" Element4 Managing Feed State 5 Embedding Atom Construction At Other Formats6 Extending Atom7 Iana Considerations8 Security Considerations §
1 Introduction
Atom is an XML-based file format intended to allow lists of information, known as "feeds", to be synchronised between publishers and consumers. Feeds are composed of a number of items, each with an extensible set of attached metadata. For example, Items Each Have a Title.
The primary use case that Atom addresses is for syndicating Web content such as Weblogs and news headlines to other Web sites and directly to consumers. However, nothing precludes it from being used for other purposes and types of content. [[More motivation / design principles Here]]]]
1.1 Conformance
[[Talk about Atom Documents and Atom Consumers, And How Requirements Are Placed on Them]]]]]]]
1.2 Notational Conventions
[[Declare Namespace prefixes]]]]
THE Key Words "Must", "Must Not", "Required", "SHALL", "Shall Not", "Shove Not", "Recommended", "May", and "Optional" in this Document Are To be interpreted as described in [RFC2119].
[[Define Conformance Targets: - Consumer - Document - Construct - Extension]]
TOC
2 Atom's Use of XML
[[Talk about namespaces, parsing requirements, etc. - RFC 3023 - use of XML in IETF RFC (forget the number) - xml: base not defined for atom items - xml: lang on any element; determining precedence - namespace: http: //purl.org/atom/ns# - Ordering Significance - Mixed Content - What Does 'Contains' mean? - what does "string" mean?]]
TOC
3 Atom XML Constructs
3.1 "Atom: feed" construct
[[Introduce Atom: Feed]]
3.1.1 "Version" Attribute
Feeds Must Have a "Version" Attribute Whose Content Indication That The Construct Conforms To.
The Version Identifier for this specification is "0.2".
3.1.2 "XML: LANG" Attribute
Feeds Should Have An "XML: Lang" Attribute Whose Content INDICATES The Default Natural Language of The Feed. The Content of XML: LANG IN A FEED Construct Must Be [[... ref?]]. 3.1.3 "Atom: Title "ELEMENT"
The. "Atom: title" element's content conveys a human-readable title for the feed Feeds MUST contain exactly one "atom: title". Element If the feed describes a Web resource, it SHOULD be the same as that resource The content of. Atom: Title in a feed must be a string.
3.1.4 "Atom: LINK" ELEMENT
The. "Atom: link" element's content conveys a URI associated with the feed The nature of the relationship as well as the link itself is determined by the element's content, whose model is identical to that of the HTML LINK element
3.1.5 "Atom: Modified" ELEMENT
The "atom: modified" element's content indicates the time that the feed was last modified, including any changes to entries therein Feeds MUST contain exactly one atom:. Modified element whose content is a W3C Date-Time string [[ref]] The. Date Should Be Expressed in The "UTC" Time Zone [[REWORD?]].
3.1.6 "Atom: author" Element
The "atom: author" element's content indicates the default author of the feed Feeds MUST contain exactly one atom:. Author element, UNLESS each of the feed's entries contains an atom:. Author element Feeds MUST NOT contain more than one "atom: author ELEMENT.
See Below for the content model of this element.
[[EXPLAIN Inheritnce]]]]]
3.1.7 "Atom: tagline" ELEMENT
The "atom: tagline" element's content conveys a human-readable description or taglone for the feed Feeds MAY contain an atom:.. Tagline element, but MUST NOT contain more than one The content of this element, when present, MUST be a string .3.1.8 "atom: id" ELEMENT
The "atom: id". Element's content conveys a permanent, globally unique identifier for the feed It MUST NOT change over time, even if the feed is relocated Feeds MAY contain an atom:. Id element, but MUST NOT contain more than one. The Content of this Element, When present, Must Be a URI.
3.1.9 "Atom: generator" ELEMENT
The "atom: generator" element's content indicates the software agent used to generate the feed, for debugging and other purposes Feeds MAY contain an atom:.. Generator element, but MUST NOT contain more than one The content of this element, when present, .
The attribute, "name" That Conveys a human-readable name for the generating agent. If present, this Attribute Must Be a string.
3.1.10 "Atom: Copyright" ELEMENT
The "atom: copyright" element's content conveys a human-readable copyright statement for the feed Feeds MAY contain an atom:. Copyright element, but MUST NOT contain more than one The content of this element, when present, MUST be a string..
This Element SHOULD NOTBE. TO Convey Machine-Readable Licensing Information.
3.1.11 "Atom: Contributor" ELEMENT
The "atom: contributor" element's content indicates a person or other entity who contributes to the feed Feeds MAY contain one or more atom:. Contributor elements See below for the content model of this element.3.1.12. "Atom: entry" Element
The "atom: entry" Element's Content Conveys An Individual Entry That Contained by The Feed. Feeds May Contain One or More Atom: entry elements. See prefer.
3.2 The "atom: entry" construct
[Introduce Atom: Entry]
3.2.1 "Atom: Title" ELEMENT
The. "Atom: title" element's content conveys a human-readable title for the entry Entries MUST have exactly one "atom: title". Element If the entry describes a Web resource, it SHOULD be the same as that resource The content of. Atom: Title in an entry must be a string.
3.2.2 "Atom: LINK" ELEMENT
The. "Atom: link" element's content conveys a URI associated with the feed The nature of the relationship as well as the link itself is determined by the element's content, whose model is identical to that of the HTML LINK element
3.2.3 "Atom: Modified" ELEMENT
The "atom: modified" element's content indicates the time that the entry was last modified Entries MAY contain an atom:.. Modified element, but MUST NOT contain more than one When present, this element's content MUST be a W3C Date-Time string [ [REF]]. The Date Should Be Expressed in The "UTC" Time Zone [[REWORD?]].
3.2.4 "Atom: Author" ELEMENT
The "atom: author" element's content indicates the default author of the entry Entries MUST contain exactly one atom:. Author element, UNLESS the feed containing them contains an atom:. Author element itself Entries MUST NOT contain more than one "atom: author "Element.see below for the content model of this element [[ref]].
[[EXPLAIN Inheritnce]]]]]
3.2.5 "Atom: Contributor" ELEMENT
The "atom: contributor" element's content indicates a person or other entity who contributes to the entry Entries MAY contain one or more atom:. Contributor elements See below for the content model of this element..
3.2.6 "Atom: ID" ELEMENT
The "atom: id". Element's content conveys a permanent, globally unique identifier for the entry It MUST NOT change over time, even if the entry is relocated Entries MUST contain exactly one atom:. Id element whose content MUST be a URI.
3.2.7 "Atom: Issued" ELEMENT
The "atom: issued" element's content indicates the time that the entry was issued Entries MUST contain exactly one atom:.. Issued element, whose content MUST be a W3C Date-Time string [[ref]] The date SHOULD include a timezone, AND Timezone Should Be The Publisher's Timezone.
3.2.8 "Atom: create" ELEMENT
The "atom: created" element's content indicates the time that the entry was created Entries MAY contain an atom:. Created element, but MUST NOT contain more than one When this element is present, its content MUST be a W3C Date-Time string. [[REF]]. The Date Should Be Expressed in The "UTC" Time Zone [[REWORD?]].
IF atom: create is not present, consumers Must consider it. value to be the same as there atom: modified.
3.2.9 "atom: summary" ElementThe "atom: summary" element's content conveys a short summary, description or excerpt of the entry Entries MAY contain an atom:. Created element, but MUST NOT contain more than one When this element is present. , ITS Content Must Be A String.
3.2.10 "Atom: Content" Element
. --...
This Element, When present, Must Have the "Type" Attribute, Whose Content INDICES The Media Type of the content. The Type Attribute's Value Must Be a Media Type [[REF]].
This Element, When present, May Have A "Mode" Attribute, Whose Value INDICES The Method Used to Encode The Content.
A Mode Attribute With the value "XML" INDICATES That The Element's Content Is Inline XML (for Example, Namespace-Qualified XHTML).
A Mode Attribute With The Value "Escaped" INDICATES That The Element's Content Unescape The Element's Content Before Processing It as The Indicated Media Type.
A Mode Attribute With the value "base64" indeicates "the element's content is base64-encoded [[ref]]. Consumers Must Decode The Element's Content Before Processing It As The Indicated Media Type.
If @ type = "multipart / alternative", @mode MUST NOT be specified, and content element MUST contain 1 or more content elements. These content elements MUST NOT specify @ type = "multipart / alternative" (ie only one level of nesting is allowed). Consumers SHOULD look at all alternative content elements and determine which one is most suitable, based on which @type and @mode the consumer supports, and preferences specified by the end user (if any). Consumers SHOULD NOT render more than one Content Alternative.3.3 "Atom: Author" ELEMENT
The "atom: author" construct (Hereafter, "Author") Conveys the Identity of An Author or create of an entry and / or feed.
3.3.1 "Atom: Name" ELEMENT
The. "Atom: name" element's content conveys a human-readable name for the author It MAY be the name of a corporation or other entity no individual authors can be named Authors MUST contain exactly one "atom: name". Element, whose content Must be a string.
3.3.2 "Atom: URL" ELEMENT
The "atom: URL" Element's Content Conveys a Uri Associated with the author. Authors May Contain An Atom: URL ELEMENT, But Must Not Contain More Than One. The Content Of Atom: URL IN A Author Must Be a URI.
3.3.3 "Atom: email" ELEMENT
the "atom: email" element's content conveys an email address associated with the author Authors MAY contain an atom:. email element, but MUST NOT contain more than one The content of atom:. email in an author MUST be an e- Mail addres [[ref]].
3.4 "Atom: Contributor" Element
THE "atom: controlor" construct conveys the Identity of A Contributor to the work. Its content model is identical to what of atom: author.toc
4 Managing Feed State
[[Talk about what it means to keep a view of a feed]]
TOC
5 Embedding Atom Constructions in Other Formats
[[...]]
TOC
6 Extending Atom
[[...]]
TOC
7 Iana Considances
[[The Media Type Registration]]]]
TOC
8 Security Considances
[[this is request]]
TOC
References
[RFC 2119] BRADNER, S., "Key Words for use in rfcs to indeicate requirement level", BCP 14, RFC 2119, March 1997. [RFC2396] Berners-Lee, T., Fielding, RT and Masinter, L., " Uniform Resource Identifiers (URI): Generic Syntax, RFC 2396, August 1998.
TOC
Author's address
Mark NOTTINGHAM Email: Mnot@pobox.comuri: http://www.mnot.net/
TOC
A Contributors
THE FOLLOWING People Contributed to this Specification: Tim Bray, Mark Pilgrim, And Sam Ruby.
TOC
B Revision History
Changed Definition of Link Elements.