Recast atom:head as an entry.
Author: Henry Story
Originally PaceEntriesAllTheWayDown, closed by Robert Sayrer because he had other things to do. I have simplified this Pace so that it contains only the refactoring.
Simplifying the syntax spec by removing duplicate data structures. "It's all about the Entries, stupid!"
The data structure in the atom head is equivalent to an atom Entry. Refactoring the spec to reaveal this relationship.
4.2 The "atom:head" Element
Remove all current atom:head definitions.
"The atom:head element acts as a container for metadata about the feed itself."
"The 'atom:head' is an Atom Entry which provides a representation of the feed itself. The only additional restriction placed on atom:entry is that it MUST contain an atom:generator element."
Move atom:generator to Entry since the protocol needs that anyway.
Remove: 4.2.11 "atom:info" Element
Move: 4.2.3 "atom:introspection" Element to atom:entry
Move: 4.2.4 "atom:post" Element to atom:entry, giving it this definition:
"The 'atom:post' element is a Service construct that conveys the URI used to add entries to a feed which has the parent entry as its headentry. atom:entry elements MUST NOT contain more than one atom:post element."
Remove atom:tagline. Use the summary of Atom Entry instead.
<?xml version="1.0" encoding="utf-8"?> <feed version="draft-ietf-atompub-format-03: do not deploy" xmlns="http://purl.org/atom/ns#draft-ietf-atompub-format-03"> <head> <title>Example Feed</title> <link href="http://example.org/"/> <summary>witty tagline</summary> <edit href="http://example.org/editing/feed1entry" /> <updated>2003-12-13T18:30:02Z</updated> <id>vemmi://example.org/2003/feeds/1</id> <generator>...</generator> <author> <name>John Doe</name> </author> </head> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <edit href="http://example.org/editing/entries/32397" /> <post href="http://example.org/editing/entries/32397" /> <id>vemmi://example.org/2003/32397</id> <updated>2003-12-13T18:30:02Z</updated> </entry> </feed>
Substantially shortens the spec.
Allows a straightforward method of editing feed information.
To be valid, at least a summary element is required in the entry.
With the imminent closure of PaceLinkAttrDefaults, the link elements require both rel and type attributes.
Antone Roundy has written a very detailed analysis of the differences and similarities between a head and an entry on the mailing list. It is exactly that type of reasoning that has led to this pace.
I tried to respond to some of his questions on the list.
Antone replied to those here. It seems very much an open issue still.