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:
<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 elementchannel
- nßsledujφ informace o elementu
channel
dokumentu (v p°φkladu se jednß o elementytitle
,link
,description
,language
,pubDate
,lastBuildDate
,docs
,generator
,managingEditor
awebMaster
), - 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
nebowebMaster
. - <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 hodnotutrue
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 atributisPermalink
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
aurl
musφ zaΦφnat registrovan²m schΘmatem URI (http://
aftp://
). - 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
- Feed Validator - nßstroj na ov∞°enφ sprßvnΘ syntaxe RSS 2.0
- RoztomilΘ specifikaΦnφ schizma - povφdßnφ o zmatcφch s verzemi RSS, Petr Cimprich (ROOT.cz, 18. 8. 2003)
- RSS 2.0 Specification - podrobnß specifikace
- RSS Interval.cz - hlavnφ kanßl
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.