Navigace

Hlavnφ menu

 

RSS 2.0

RSS (Really Simple Syndication) je standardnφm prvkem Φasto aktualizovan²ch web∙. NejΦast∞ji m∙₧eme RSS kanßl (soubor s vlastnφ URI) najφt na weblogu nebo na zpravodajskΘm serveru. V tomto Φlßnku se budeme v∞novat popisu RSS 2.0, respektive verzi 2.0.1, kterß byla publikovßna na podzim roku 2002.

Co je RSS

Co je vlastn∞ RSS? RSS je kanßl, kter² je podmno₧inou XML, je urΦen pro poskytovßnφ obsahu. RSS umo₧≥uje u₧ivateli z jedinΘho mφsta sledovat informace zve°ej≥ovanΘ na r∙zn²ch webech. Nßstrojem pro sledovßnφ obsahu RSS jsou desktopovΘ RSS ΦteΦky nebo n∞kterΘ z mnoha webov²ch agregßtor∙. RSS mß n∞kolik variant - na Intervalu byl ji₧ d°φve zve°ejn∞n popis RSS 0.91.

Hlavnφ osobou, kterß stojφ za specifikacφ RSS 2.0, je Dave Winer. V souΦasnosti je specifikace RSS 2.0 nabφzena pod licencφ Creative Commons. Specifikaci RSS 2.0 spravuje Berkman Center for Internet & Society (Harvard Law School).

Letm² pohled do zdrojovΘho k≤du prozradφ, ₧e RSS 2.0 je pom∞rn∞ jednoduch² formßt, p°edevÜφm dφky samopopisn²m nßzv∙m element∙ a atribut∙. Nßsledujφcφ p°φklad ukazuje obsah souboru ve formßtu RSS 2.0:

<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Zelenß moucha</title>
    <link>http://www.exmaple.com/moucha/</link>
    <description>Ze ₧ivota ZelenΘ mouchy.</description>
    <language>cs</language>
    <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
    <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>MujSystem 1.0</generator>
    <managingEditor>editor@example.com</managingEditor>
    <webMaster>webmaster@example.com</webMaster>
    <item>
      <title>Druh² den</title>
      <link>http://example.com/moucha/druhy-den.htm</link>
      <description>Druh² den ₧ivota ZelenΘ mouchy.</description>
      <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
      <guid>http://www.example.com/moucha/archiv.htm#item3</guid>
    </item>
    <item>
      <description>A veΦer Üla Zelenß moucha spßt.</description>
      <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
      <guid>http://www.example.com/moucha/archiv.htm#item2</guid>
    </item>
    <item>
      <title>Prvnφ den</title>
      <link>http://example.com/moucha/prvni-den.htm</link>
      <description>Zelenß moucha je tady. Snad se bude lφbit.</description>
      <pubDate>Fri, 30 May 2003 9:16:28 GMT</pubDate>
      <guid>http://www.example.com/moucha/archiv.htm#item1</guid>
    </item>
  </channel>
</rss>

Z ukßzky je patrnß struktura XML dokumentu ve formßtu RSS 2.0:

  • dokument zaΦφnß informacφ o verzi XML
  • dokument ve formßtu RSS 2.0 je na nejvyÜÜφ ·rovni uzav°en do prßv∞ jednoho elementu rss, do kterΘho je zano°en element channel
  • nßsledujφ informace o elementu channel dokumentu (v p°φkladu se jednß o elementy title, link, description, language, pubDate, lastBuildDate, docs, generator, managingEditor a webMaster),
  • informace o jednotliv²ch polo₧kßch jsou vno°ovßny do elementu item (v p°φkladu jsou uvedeny t°i s mφrn∞ odliÜnou strukturou).

PovinnΘ elementy

Povinn²ch element∙ je v RSS 2.0 p°ekvapiv∞ mßlo:

<rss>
Element nejvyÜÜφ ·rovn∞ (ko°enov² element). Element rss povinn∞ obsahuje informaci o verzi RSS, kterß je umφst∞na v atributu "version" (viz p°φklad).
<channel>
Samotn² "kanßl", kter² obsahuje informace. Obsahuje tyto vno°enΘ elementy:
<title>
JmΘno (titulek) kanßlu v lidsky ΦitelnΘ podob∞. M∞l by odpovφdat nßzvu danΘho webu (v p°φkladu Zelenß moucha).
<link>
URL danΘho webu (nap°φklad http://www.example.com/moucha/).
<description>
Popis danΘho RSS kanßlu.

Vedle pou₧itφ povinn²ch element∙ musφ RSS 2.0 dokument samoz°ejm∞ dodr₧ovat specifikaci XML 1.0.

NepovinnΘ elementy

Pokud bude RSS kanßl obsahovat pouze povinnΘ elementy, nebude nikomu p°φliÜ u₧iteΦn². I proto je ve specifikaci RSS 2.0 celß °ada nepovinn²ch element∙. Nßsledujφcφ seznam popφÜe ty nejv²znamn∞jÜφ. Pro zßjemce je k dispozici ·plnß specifikace RSS 2.0.

Element channel

<language>
Zde je zkratka jazyka, ve kterΘm je kanßl napsßn (cs pro ΦeÜtinu). Tento seznam nenφ v souladu s mezinßrodn∞ platn²mi normami ISO Languages (ISO 639-2T).
<copyright>
Informace o autorsk²ch prßvech.
<managingEditor>
E-mailovß adresa osoby odpov∞dnΘ za obsah.
<webMaster>
E-mailovß adresa osoby odpov∞dnΘ za technickΘ zßle₧itosti provozu danΘho RSS kanßlu.
<pubDate>
Datum publikovßnφ obsahu kanßlu (ve formßtu RFC822).
<lastBuildDate>
╚as poslednφ zm∞ny obsahu.
<category>
Jeden element pro ka₧dou z kategoriφ, do kterΘ dan² RSS kanßl pat°φ. M∙₧e obsahovat atribut "domain", jeho₧ hodnotou je URL dokumentu, kter² popisuje taxonomii kategoriφ.
<generator>
Identifikace aplikace, ve kterΘ byl kanßl vytvo°en.
<docs>
URL dokumentace RSS, podle kterΘ byl kanßl vytvo°en (nap°φklad http://blogs.law.harvard.edu/tech/rss).
<ttl>
PoΦet minut (Φφslo), kter² urΦuje, jak dlouho m∙₧e b²t kanßl keÜovßn p°ed novou aktualizacφ ze zdroje.
<image>
Informace o GIF, JPEG nebo PNG obrßzku danΘho kanßlu. Obsahuje t°i vno°enΘ povinnΘ elementy a t°i volitelnΘ:
<url>
URL obrßzku. Povinn² element.
<title>
Pou₧ito pro alternativnφ popis obrßzku (pro atribut "alt" HTML znaΦky img). Je to text popisujφcφ obrßzek. Povinn² element.
<link>
URL webu. URL je pou₧ito pro obrßzek, kter² bude zobrazen jako odkaz. Povinn² element.
<width>
╚φslo, kterΘ uvßdφ Üφ°ku obrßzku v pixelech. Maximßlnφ hodnota je 144. V²chozφ 88.
<height>
╚φslo, kterΘ uvßdφ v²Üku obrßzku v pixelech. Maximßlnφ hodnota je 400. V²chozφ 31.
<description>
P°i vykreslovßnφ bude tento voliteln² text zobrazen v atributu "title" HTML znaΦky img.
<rating>
Hodnocenφ kanßlu podle PICS.
<textInput>
Tento element znaΦφ textovΘ pole, kterΘ m∙₧e b²t zobrazeno spolu s obsahem RSS kanßlu.
<skipHours>
Ve vno°en²ch elementech hour je mo₧nΘ uvßd∞t ΦasovΘ ·daje (hodnota 0 a₧ 23), kterΘ informujφ ΦteΦku, ve kter²ch hodinßch by nem∞la dan² kanßl Φφst.
<skipDays>
V nejv²Üe sedmi vno°en²ch elementech day m∙₧e b²t vlo₧en textov² ·daj ("Monday", "Tuesday"...) informujφcφ ΦteΦku, ve kter²ch dnech by nem∞la dan² kanßl Φφst.

Element item

RSS kanßl ve verzi RSS 2.0 m∙₧e obsahovat libovolnΘ mno₧stvφ element∙ item. Ka₧d² element item p°edstavuje polo₧ku danΘho kanßlu. V polo₧ce m∙₧e b²t uveden krßtk² popis nebo ·pln² text. VÜechny polo₧ky jsou nepovinnΘ, nicmΘn∞ musφ b²t p°φtomen alespo≥ jeden z dvojice element∙ title nebo description.

<title>
Titulek polo₧ky.
<link>
URL odkazujφcφ na polo₧ku.
<description>
StruΦn² p°ehled o polo₧ce (krßtk² v²tah z obsahu).
<author>
E-mailovß adresa autora p°φsp∞vku. M∙₧e se odliÜovat od hodnot element∙ managingEditor nebo webMaster.
<category>
╪adφ polo₧ku do jednΘ nebo i n∞kolika kategoriφ, podobn∞ jako stejnojmenn² element v popisu kanßlu jako celku.
<comments>
URL strßnky komentß°∙ danΘ polo₧ky.
<enclosure>
Popisuje p°φlohu p°φsp∞vku. Element mß t°i povinnΘ atributy:
url
Adresa (typu http), kde je p°φloha ulo₧ena.
length
Velikost p°φlohy v bytech.
type
MIME typ p°φlohy.
<guid>
╪et∞zec jednoznaΦn∞ identifikujφcφ polo₧ku. ╚teΦka by jej m∞la pou₧φt p°i rozhodovßnφ, jestli se jednß o nov² p°φsp∞vek. Nenφ urΦen p°esn² formßt tohoto elementu. Pokud je nastaven voliteln² atribut isPermalink na hodnotu true nebo nenφ uveden, ΦteΦka m∙₧e p°edpoklßdat, ₧e hodnotou elementu je trval² odkaz na dan² p°φsp∞vek, kter² bude po zvolenφ polo₧ky otev°en v prohlφ₧eΦi. V opaΦnΘm p°φpad∞ je pot°eba nastavit atribut isPermalink na hodnotu "false".
<pubDate>
╚as zve°ejn∞nφ polo₧ky (datum dle RFC822). Pokud je datum nastaveno na budoucnost, nem∞ly by ji ΦteΦky zobrazit.
<source>
JmΘno RSS kanßlu, odkud polo₧ka pochßzφ. Povinn² atribut url uvßdφ adresu odkazovanΘho zdroje.

Rozdφly v∙Φi p°edchozφm verzφm

RSS 2.0 je pom∞rn∞ voln² formßt. P°esto ale existujφ n∞kterß omezenφ a odliÜnosti od p°edchozφch verzφ RSS, nap°φklad:

  • Prvnφ neprßzdnΘ znaky element∙ link a url musφ zaΦφnat registrovan²m schΘmatem URI (http:// a ftp://).
  • Padl limit RSS verze 0.91, t²kajφcφ se omezenΘho poΦtu znak∙ uvnit° n∞kter²ch element∙ a nejvyÜÜφho poΦtu samotn²ch element∙ item.

D∙le₧itΘ takΘ je, ₧e ΦteΦky majφ rozdφlnou podporu RSS a jsou r∙zn∞ citlivΘ na chyby validity RSS kanßl∙.

Jak vytvo°it RSS

RSS je v podstat∞ prost² textov² XML dokument. Zp∙sob jeho vytvo°enφ je pouze v rukou autora. RSS je mo₧nΘ tvo°it v libovolnΘm textovΘm editoru nebo m∙₧e b²t prßce p°enechßna stroj∙m, kterΘ RSS dokument vygenerujφ automaticky (nap°φklad pomocφ PHP z databßze). Pak u₧ jen staΦφ vystavit na web adresu RSS kanßlu.

Odkazy, zdroje

Syndikace obsahu - formßty, techniky, v²voj

Syndikace obsahu je modernφ metodou sdφlenφ velk²ch objem∙ rychle se m∞nφcφch informacφ na internetu. Soubor naÜich text∙ popisuje specifikace jednotliv²ch formßt∙ a nßstroje pro prßci s daty v nich p°edßvan²mi. Tato sΘrie Φlßnk∙ ji₧ byla uzav°ena, aΦkoli dalÜφ pokraΦovßnφ nelze vylouΦit.

BureÜ, Ji°φ (16. 9. 2004)