Syndikování obsahu se pomalu ale jistě stává běžným prvkem nejenom weblogů a zpravodajských webů. Až donedávna se pro poskytování obsahu nabízelo pouze několik variant formátu RSS, respektive formát RDF. Nyní začíná do povědomí autorů webů i návštěvníků nastupovat nový formát – Atom.

Co je Atom

Atom je standardizovaný, dobře dokumentovaný XML formát. Je určený pro snadné poskytování obsahu, podobně jako hojně používaný formát RSS. Už dříve byl na Intervalu zveřejněn popis RSS 0.91, kde najdete mimo jiné nástin používání RSS. Atom, stejně jako RSS/RDF, představuje snadný způsob, jak z jednoho místa sledovat informace zveřejňované na webu. Ale Atom není jen formát. Je to také Atom API, které umožňuje čtení a zveřejňování informací dalším aplikacím. V tomto článku se budeme věnovat specifikaci formátu Atom v aktuální verzi 0.3. Pre-draft Atom 0.3 byl zveřejněn v prosinci 2003.

Podobně jako RSS i Atom je podmnožinou XML. Platí pro něj tedy stejná obecná pravidla jako pro XML (například nutnost rozlišovat velká a malá písmena). Následující příklad ukazuje minimální obsah souboru ve formátu Atom:

<?xml version=“1.0″ encoding=“utf-8″ ?>
<feed version=“0.3″ xmlns=“http://purl.org/atom/ns#“>
  <title>Example.com</title>
  <link rel=“alternate“ type=“text/html“ href=“http://www.example.com/“ />
  <modified>2004-07-26T15:10:37+01:00</modified>
  <author>
    <name>Jiří Bureš</name>
  </author>
  <entry>
    <title>Atom 0.3 a RSS</title>
    <link rel=“alternate“ type=“text/html“ href=“http://www.example.com/2004-07-26/atom.htm“/>
    <issued>2004-07-26T06:30:55+01:00</issued>
    <modified>2004-07-26T15:10:37+01:00</modified>
  </entry>
</feed>

Z ukázky je patrná jednoduchá struktura Atom dokumentu:

  • dokument začíná informací o verzi XML a použitém kódování
  • Atom dokument je uzavřen do právě jednoho elementu feed
  • následují informace o Atom dokumentu (elementy title, link, modified a author)
  • informace o jednotlivých položkách jsou vnořeny do elementu entry

Povinné elementy

<feed>
Element nejvyšší úrovně. Element feed musí obsahovat atribut „version“ (momentálně 0.3).
Volitelně by měl obsahovat atribut lang (RFC3066), který popisuje jazyk dokumentu.
<title>
Název daného kanálu (měl by odpovídat názvu zdroje – většinou názvu daného webu). Rodičovský element feed musí obsahovat právě jeden element title.
<link>
Element link obsahuje adresu daného kanálu. Musí obsahovat následující atributy:

  • rel (a to vedle jiných právě jeden s hodnotou alternate),
  • type – typ média podle RFC2045,
  • href – URI (RFC2396) daného zdroje

Volitelně může obsahovat atribut title, který poskytuje doplňkové informace o odkazu.

<modified>
Čas, kdy byl kanál naposledy změněn. Element feed musí obsahovat právě jeden element modified. Hodnota by měla obsahovat informaci o časové zóně. Veškeré časové údaje Atom kanálů musí být v souladu s W3C Date and Time Formats.
<author>
Každý Atom kanál musí obsahovat pro rodičovský element feed právě jeden element author. Má povinně vnořený element name:

<name>
Jméno autora (případně firmy) v lidsky čitelné podobě. Entita se v dokumentu musí vyskytovat právě jednou.
<entry>
Element představuje jednotlivou položku Atom kanálu. Každý kanál může obsahovat jeden nebo více elementů entry. Podobně jako v případě elementu feed mohou být použity další jmenné prostory.

<title>
Titulek dané položky v lidsky čitelné podobě. Každý element entry musí obsahovat právě jeden element title.
<link>
URI dané položky. Každý element entry musí obsahovat právě jeden element link s hodnotou „alternate“ atributu „rel“. Může obsahovat i další elementy link.
<issued>
Čas zveřejnění položky. Vyskytuje se v každém elementu entry právě jednou.
<modified>
Čas, kdy byla daná položka naposledy změněna. V jednom elementu entry se položka vyskytuje právě jednou.

Nepovinné elementy

<url>
Součást elementu author. Obsahuje URI (RFC2396) spojené s autorem.
<email>
Součást elementu author. E-mailová adresa autora (RFC2822).
<author>
Každý element entry může obsahovat element author.
<contributor>
Přispěvatel. Elementy feed i entry mohou obsahovat jeden nebo více elementů contributor.
<tagline>
Nepovinný lidsky čitelný popis kanálu se může vyskytovat v elementu feed nejvýše jednou.
<id>
Trvalý jedinečný identifikátor kanálu nebo položky (URI), který se vyskytuje v elementu feed nejvýše jednou. Změna je možné jen při přemístění kanálu. Pokud se stejná položka vyskytuje ve více kanálech, musí mít stejné id.
<generator>
Řetězcová identifikace agenta použitého pro generování kanálu v lidsky čitelné formě. V kanálu (v elementu feed) se vyskytuje nejvýše jednou. Může obsahovat atributy:

  • url – URI odkazující na generátor
  • version – verze generátoru
<copyright>
Autorská práva k danému kanálu v lidsky čitelné formě. V elementu feed se vyskytuje nejvýše jednou.
<info>
Element feed může obsahovat nejvýše jeden element info popisující samotný kanál v lidsky čitelné podobě.
<created>
Čas vytvoření položky. Element entry může obsahovat nejvýše jeden element created. Časový údaj musí obsahovat informaci o časové zóně.
<summary>
Krátké shrnutí dané položky. Element entry může obsahovat více elementů summary.
<content>
Obsah dané položky. Element entry může obsahovat více elementů content.

Jak vytvořit Atom

Jak už bylo řečeno, Atom je XML dokument se vším všudy. Jedná o prostý textový dokument. Doporučená koncovka je .atom, často se ale používá název souboru atom.xml. Způsob, jakým takový dokument autor vytvoří, závisí pouze na něm samotném. Může obsah editovat ručně ve vhodném textovém editoru, nebo může dokument generovat automaticky (například pomocí PHP z databáze).

Odkazy, zdroje

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět