Atom-based Simple Gazetteer Profile

Let's extend Atom (http://atompub.org/rfc4287.html#extending_atom). GData (http://code.google.com/apis/gdata/common-elements.html) also extends Atom, but doesn't do it quite right (http://www.snellspace.com/wp/?p=314).

Why extend Atom?

  1. Atom is solid and has momentum.
  2. Parsers abound for Atom and can be extended to parse an Atom-based Gazetteer profile.
  3. Atom-based Gazetteer data can be used in a limited fashion by dumb (Gazetteer-unaware) aggregators.
  4. It's one of the simplest thing that can possibly work.

Here's a very rough sketch of a named place in XML, which extends Atom using elements from a *gaz* namespace.

<atom:entry>
  <atom:id>gazr.org:places:whatpolis</id>
  <atom:link rel="self">
    http://gazr.org/places/whatpolis
  </atom:link>
  <atom:title>Whatopolis</atom:title>
  <atom:subtitle>
    The place known in Mock-Greek as Whatpolis during the Classical period.
    Also known as ... (this is just a prose representation of the following
    <content> element.
  </atom:subtitle>
  <!-- other required entry elements -->

  <atom:content>

    <gaz:place>

      <!-- other elements -->
       
      <gaz:name>
        <atom:id>gazr.org:names:whatpolis</id>
        <atom:link rel="self">
          http://gazr.org/names/whatpolis
        </atom:link>
        <!-- other atom elements -->

        <gaz:timePeriod>
          <atom:id>gazr.org:times:classical</atom:id>
          <atom:link rel="self">
            http://gazr.org/times/classical
          </atom:link>
        </gaz:timePeriod>
      
      </gaz:name>

      <!-- multiple names are possible -->

    </gaz:place>

  </atom:content>

</atom:entry>

Attachments