All elements are in the namespace
xml:lang may appear on any element, including but not limited to <feed>, <entry>, <content>, <title>, <summary>.
elementname* indicates 0 or more of <elementname> may be present.
The top-level element is <feed>. It has several <entry> children. If a property says it can apply to entries, that means that if it’s put in <feed> then it’s a default value for each <entry>. If it can also apply to <entry>, then the value in an <entry> can override the default entries value.
Required children of feed:
- title: Equivalent to dc:title. If this feed describes a website, SHOULD be the title of the website.
- link: The link to the website described by this feed. If this feed describes a website, SHOULD be a link to the homepage of the website.
- modified: W3DTF. Equivalent to dcterms:modified. The modification date of the feed, including any changes to any of the listed entries. SHOULD be UTC.
- author: [defined below]
One of these MUST be true:
- feed contains author (if so, it’s inherited by all the entries);
- every entry contains author (overrides any inherited one).
Optional children of feed:
- tagline: Subproperty of dc:description. A short human-readable tagline for this feed. Examples: "Severed dog penis found in local chinese restaurant noodles." (tagline of NYT).
- id: A URI. Permanent, globally unique ID of this feed. MUST NOT change, ever, even if the feed is moved to a new server. For this reason, it probably shouldn’t be the same as feed/link, although it MAY be. We’re currently discussing options, including tag: URIs and GUID in the COM/CORBA sense.
- generator: [defined below]
- entry*: [defined below]
- contributor*: [defined below]
- copyright: Equivalent to dc:rights. Human-readable copyright statement for this feed. For machine-readable licensing information, producers SHOULD use the <license> element (to be defined). Note that omission of this element does not mean the feed isn’t copyrighted.
- name: Equivalent to dc:creator of feed or entry (depending on where author element is). MAY be name of corporation, if there are no individual authors or publisher does not wish to make their names available. See Authors on the other wiki.
- url*: A URI. The URL of this author.
- email*: An email address, including plus signs and other allowable weird characters. The email address of this author.
- link: A URI. URI of the toolkit that generated this feed. SHOULD be home page of toolkit/program/hosting provider, like
http://www.movabletype.org/. MAY include version number, like:
- name: human-readable name of the toolkit that generated this feed, like "Movable Type".
- title: Eqivalent to dc:title.
- link: A URI. Permanent link to a representation of this entry. Is NOT defined as "link to an external resource described in the content of this entry". MUST be permanent. MUST be globally unique. MUST be clickable (not sure how to express this, perhaps "use an IANA-registered protocol and point to a resource that is viewable by ... uh, something)
- id: A URI. Subproperty of to dc:identifier. Permanent globally unique ID of this entry. MUST be permanent, MUST be globally unique. MAY be same as link. Current recommendations are under active discussion, same issues as feed/id.
- issued: W3DTF minus timezone requirement. Subproperty of dcterms:issued. SHOULD include timezone. SHOULD be expressed in publisher’s local timezone. MAY skip timezone (LiveJournal requirement).
- modified: W3DTF. Subproperty of dcterms:modified. SHOULD be UTC.
- created W3DTF. Subproperty of dcterms:created. SHOULD be UTC. If not present, its value is presumed to be identical to modified.
- summary: Subproperty of dc:description. Short summary, blurb, or excerpt about this entry. MUST be plain text (i.e. no escaped HTML). Examples of use: lead on first page of news site.
- author: [defined above]
- contributor*: [defined below]
- content*: [defined below]
Same required and optional elements as author. Suproperty of "dc:contributor".
- type: MIME type. Format of this content.
And at most one mode of:
- xml: Inline XML. (Probably namespaced XHTML.)
- escaped: Consumers must unescape and treat as its type.
- base64: base64-encoded string. Consumers must decode and treat as its type.
If content type is "multipart/alternative", then instead of any of the above, the content element MUST contain 1 or more content elements. These content elements MUST NOT specify type="multipart/alternative" (i.e. 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.
[edit, permanent link to this version]