Home >> FAQs/Tutorials >> RSS Tutorials >> Index

RSS FAQs - Atom Syndiation Format RFC4287 Reference Document

By: M. Nottingham, Ed. & R. Sayre, Ed.

Part:   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19   20  21  22  23 

(Continued from previous part...)


Appendix A.  Contributors

   The following people contributed to preliminary versions of this
   document: Tim Bray, Mark Pilgrim, and Sam Ruby.  Norman Walsh
   provided the Relax NG schema.  The content and concepts within are a
   product of the Atom community and the Atompub Working Group.

   The Atompub Working Group has dozens of very active contributors who
   proposed ideas and wording for this document, including:

   Danny Ayers, James Aylett, Roger Benningfield, Arve Bersvendsen, Tim
   Bray, Dan Brickley, Thomas Broyer, Robin Cover, Bill de hOra, Martin
   Duerst, Roy Fielding, Joe Gregorio, Bjoern Hoehrmann, Paul Hoffman,
   Anne van Kesteren, Brett Lindsley, Dare Obasanjo, David Orchard,
   Aristotle Pagaltzis, John Panzer, Graham Parks, Dave Pawson, Mark
   Pilgrim, David Powell, Julian Reschke, Phil Ringnalda, Antone Roundy,
   Sam Ruby, Eric Scheid, Brent Simmons, Henri Sivonen, Ray Slakinski,
   James Snell, Henry Story, Asbjorn Ulsberg, Walter Underwood, Norman
   Walsh, Dave Winer, and Bob Wyman.

Appendix B.  RELAX NG Compact Schema

   This appendix is informative.

   The Relax NG schema explicitly excludes elements in the Atom
   namespace that are not defined in this revision of the specification.
   Requirements for Atom Processors encountering such markup are given
   in Sections 6.2 and 6.3.

   # -*- rnc -*-
   # RELAX NG Compact Syntax Grammar for the
   # Atom Format Specification Version 11

   namespace atom = "http://www.w3.org/2005/Atom"
   namespace xhtml = "http://www.w3.org/1999/xhtml"
   namespace s = "http://www.ascc.net/xml/schematron"
   namespace local = ""

   start = atomFeed | atomEntry

   # Common attributes

   atomCommonAttributes =
      attribute xml:base { atomUri }?,
      attribute xml:lang { atomLanguageTag }?,
      undefinedAttribute*

   # Text Constructs

[Page 35]

   atomPlainTextConstruct =
      atomCommonAttributes,
      attribute type { "text" | "html" }?,
      text

   atomXHTMLTextConstruct =
      atomCommonAttributes,
      attribute type { "xhtml" },
      xhtmlDiv

   atomTextConstruct = atomPlainTextConstruct | atomXHTMLTextConstruct

   # Person Construct

   atomPersonConstruct =
      atomCommonAttributes,
      (element atom:name { text }
       & element atom:uri { atomUri }?
       & element atom:email { atomEmailAddress }?
       & extensionElement*)

   # Date Construct

   atomDateConstruct =
      atomCommonAttributes,
      xsd:dateTime

   # atom:feed

   atomFeed =
      [
         s:rule [
            context = "atom:feed"
            s:assert [
               test = "atom:author or not(atom:entry[not(atom:author)])"
               "An atom:feed must have an atom:author unless all "
               ~ "of its atom:entry children have an atom:author."
            ]
         ]
      ]
      element atom:feed {
         atomCommonAttributes,
         (atomAuthor*
          & atomCategory*
          & atomContributor*
          & atomGenerator?
          & atomIcon?
          & atomId

[Page 36]

(Continued on next part...)

Part:   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19   20  21  22  23 


Selected Developer Jobs:

More...