Portál AbcLinuxu, 2. května 2025 12:34
V tomto článku je popísaná štruktúra RSS súboru, postup tvorby, existujúce skripty, validácie a uverejnenia RSS súboru.
A ako to RRS teda celé funguje? Tvorca webu spraví na webe nejakú zmenu, napríklad pridá nový článok alebo celú sekciu. Následne chce informovať návštevníkov web stránky. V tomto prípade má dve možnosti. Buď vytvorí stránku Aktualít, alebo použije RSS a ponechá na návštevníkoch spôsob jeho zobrazenia.
Do RSS súboru jednoducho pridá ďalšiu položku obsahujúcu popis zmeny, odkaz na stránku a prípadne ďalšie informácie. Ľuďom, ktorí sú prihlásení k tomuto RSS kanálu sa táto zmena zobrazí ako aktualizácia vašej web stránky.
Takto pripravený RSS súbor je tiež možné použiť ako zdroj noviniek na iných weboch, ktoré spársujú XML súbor, a požadované informácie z neho zobrazia na svojej stránke. Predpokladám, že tento spôsob používa AbcLinuxu na zobrazenie nadpisov N nových článkov z iných webov.
Pridanie RSS súboru na vaše stránky bude mať nasledujúce štyri kroky:
RSS súbor je možné vytvoriť dvoma spôsobmi:
My si ukážeme prvý spôsob. Ak máme stránky vytvorené v PHP, môžete použiť existujúce php skripty. I pri manuálnej tvorbe nám môžu pomôcť nástroje ako kód generátor. Kde zadáme pre stránku samotnú a každú položku nadpis, odkaz a textový popis a kód máme hotový. Následne stačí vygenerovaný kód uložiť ako XML súbor a pridať odkaz na naše stránky. Tento generátor však generuje RSS verziu 0.91 a ako jazyk udáva en-us.
Ešte jedna poznámka: asi najjednoduchší spôsob vytvorenia RSS súboru je skopírovať existujúci súbor požadovanej verzie z iného webu a jeho prepísanie :-).
A teraz k samotnej tvorbe súboru. Predstavme si, že chceme pridať položku s nasledujúcimi hodnotami:
Pridanie RSS kanálov
Tak a konečne sa na tento web dostal výdobytok internetu - RSS kanál.
Agreguje zmeny na stránke a môj blog.
http://www.valasek.biz/rss.php
Nadpis uzatvoríme do značiek <title>
a
</title>
takže dostaneme:
<title>Pridanie RSS kanálov</title>
To isté spravíme s popisom s tým rozdielom, že použijeme značky
<description>
a </description>.
Tým
dostaneme:
<title>Pridanie RSS kanálov</title>
<description>Tak a konečne sa na tento web dostal výdobytok
internetu - RSS kanál. Agreguje zmeny na stránke a môj
blog.</description>
Následne pridáme odkaz začínajúci značkou <link>
,
následovaný odkazom a ukončený značkou </link>
. Tým
dostaneme:
<title>Pridanie RSS kanálov</title>
<description>Tak a konečne sa na tento web dostal výdobytok
internetu - RSS kanál. Agreguje zmeny na stránke a môj
blog.</description>
<link>http://www.valasek.biz/rss.php</link>
Tým sme zadali všetky informácie potrebné pre pridanie jednej položky.
Každá položka v súbore sa začína značkou <item>
a
ukončuje značkou </item>
. Keď pridáme ešte jednu
položku, dostaneme nasledovný kód:
<item>
<title>Pridanie RSS kanálov</title>
<description>Tak a konečne sa na tento web dostal výdobytok
internetu - RSS kanál. Agreguje zmeny na stránke a môj
blog.</description>
<link>http://www.valasek.biz/rss.php</link>
</item>
<item>
<title>Aktualizovaný email formulár</title>
<description>Pôvodný email skript neodosielal správne email adresu
odosielateľa a preto som mu nemohol odpovedať
. Aktuálna verzia na webe
je opravená.</description>
<link>http://www.valasek.biz/email.php</link>
</item>
A ako niekto čítajúc RSS zistí, že informácie sa vzťahujú k nášmu RSS
kanálu? Jednoducho. Ak niektorú položku neuzatvoríme do značky
<item>
, tak bude vnímaná ako informácia o kanáli a nie
ako samotná položka. Týmto dostaneme obsah:
<title>Všehochuť</title>
<description>Aktualizácie a novinky na webe
valasek.biz</description>
<link>http://www.valasek.biz</link>
<item>
<title>Pridanie RSS kanálov</title>
<description>Tak a konečne sa na tento web dostal výdobytok
internetu - RSS kanál. Agreguje zmeny na stránke a môj
blog.</description>
<link>http://www.valasek.biz/rss.php</link>
</item>
<item>
<title>Aktualizovaný email formulár</title>
<description>Pôvodný email skript neodosielal správne email adresu
odosielateľa a preto som mu nemohol odpovedať
. Aktuálna verzia na webe
je opravená.</description>
<link>http://www.valasek.biz/email.php</link>
</item>
Ostáva nám dorobiť posledných pár vecí. Najskôr potrebujeme definovať, že súbor je napísaný podľa špecifikácie XML 1.0, jeho kódovanie. A tiež uviesť používanú RSS verziu.
Doteraz sme všetky značky použili v súlade so špecifikáciou UserLand RSS 0.91. My však chceme použiť poslednú verziu RSS - 2.0. Toto nám dáva do budúcnosti priestor na pridanie ďalších užitočných vecí.
Nakoniec po špecifikácií RSS verzie pridáme otváraciu značku "channel". Takže na začiatok súboru pridáme:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
A na koniec vložíme uzatváraciu značku kanálu a RSS v tomto poradí. Teda:
</channel>
</rss>
Takže kompletný súbor je:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Všehochuť</title>
<description>Aktualizácie a novinky na webe
valasek.biz</description>
<link>http://www.valasek.biz</link>
<item>
<title>Pridanie RSS kanálov</title>
<description>Tak a konečne sa na tento web dostal výdobytok
internetu - RSS kanál. Agreguje zmeny na stránke a môj
blog.</description>
<link>http://www.valasek.biz/rss.php</link>
</item>
<item>
<title>Aktualizovaný email formulár</title>
<description>Pôvodný email skript neodosielal správne email adresu
odosielateľa a preto som mu nemohol odpovedať :-(. Aktuálna verzia na
webe je opravená.</description>
<link>http://www.valasek.biz/email.php</link>
</item>
</channel>
</rss>
Na pomenovanie neexistujú žiadne pravidlá. Súbory však najčastejšie končia príponou xml alebo rss. Nezabudnite súbor uložiť v rovnakom kódovaní, aké ste špecifikovali v xml súbore. U nás je to UTF-8. Po tomto kroku nám ostáva už len nahranie súboru na web server, najčastejšie do koreňového adresára, a jeho validácia.
Po vytvorení súboru nasleduje nemenej dôležitý krok a to jeho validácia. To znamená overenie, či je xml well-formed a názvy jednotlivých značiek voči DTD. Množstvo validátorov nájdete na webe, ako napríklad RSS Validátor, alebo Feed validator všetky však vyžadujú mať rss súbor nahraný na vašom webe.
Vyššie popísané nastavenia predstavujú iba základné možnosti RSS. Je nutné si však uvedomiť, že nie všetky RSS čítačky dokážu správne interpretovať všetky RSS značky a preto odporúčam byť pri ich používaní skôr striedmejší.
V rámci súboru je ešte možné pridať tieto značky:
chanel
language
pubDate
image
author
category
Zoznam existujúcich značiek, ktoré je možné použiť popísaný v RSS 2.0 špecifikácií. Časť súboru obsahujúca niektoré z vyššie uvedených možností vyzerá nasledovne:
<image>
<title>valasek.biz</title>
<url>http://www.valasek.biz/images/logo.png</url>
<link>http://www.valasek.biz/</link>
<description>Aktualizácie a novinky na webe
Všehochuť</description>
</image>
<title>Všehochuť</title>
<description>Aktualizácie a novinky na webe
valasek.biz</description>
<link>http://www.valasek.biz</link>
<language>sk</language>
<publisher>valasek.biz</publisher>
<pubDate>Wed, 25 May 2005 23:00:00 GMT</pubDate>
Počet položiek v súbore nie je definovaný, ale ideálna veľkosť je okolo 15 záznamov. To znamená manuálne vymazávanie starých položiek.
RSS súbor môže byť poslaný aj na web stránky agregujúce nové články na internete. Medzi najznámejšie stránky patria napríklad Moreover, syndic8, UserLand alebo News Knowledge. Problémom je, že tieto stránky agregujú väčšinou anglicky hovoriace stránky. Na slovenskom/českom internete som web podobného zamerania zatiaľ nenašiel.
Ak nám nestačia vyššie uvedené možnosti, tak na vytvorenie RSS súboru môžeme použiť i niektorý z open source skriptov. To však požaduje mať na servery prístupný (skriptovací) jazyk, či už PHP, Javu alebo Python. Osobne som žiadny zo skriptov nepoužil, ale ako odrazový mostík určite poslúži PHP RSS 1.0 writer od UsfelInc, RSS 2.0 writer, alebo java XmlTextWriter.pre RSS 2.0.
Napriek tomu, že formát RSS stále nie je ustálený je to pomerne silný nástroj. Do budúcnosti sa ako nádejný presadzuje formát Atom. Ako bolo ukázané, RSS súbor má pomerne jednoduchú štruktúru, aspoň RSS 2.0 :-), takže ak sa vaše stránky častejšie menia, je škoda nevyužiť túto možnosť zdieľania informácií.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.