NOTES TO book "RSS und Atom"
title: RSS und Atom - kurz & gut
author: Jörg Kantel
kind: topic explanation
pages: 90
chapters: 5
language: German
publisher: O'Reilly
published in: 2007 (1. edition)
ISBN: 978-3-89721-527-6
comment: Nice introduction to topic. But nothing special.
summary: RSS specifications, purposes, Apple-Technology, Readers & Writers, Web 2.0
Software, XML and RSS
=====================
Software for PHP:
- packages in XML-Manipulation (http://de.php.net/manual/en/refs.xml.php)
Software for Perl:
- XML::RSS (http://perl-rss.sourceforge.net/)
Software for Python:
- PyRSS2Gen
- RSS libs @ Python Wiki (http://wiki.python.org/moin/RssLibraries)
(P)CDATA
--------
in general no HTML, except when CDATA.
CDATA
Character Data
PCDATA
Parsable Character Data
WTH is Enclosure?
-----------------
enclosure
angehängte Datei bei einem Feed. Mit den Eigenschaften url
(selbsterklärend), length (in bytes) und type (MIME). Zitat
aus dem Chaosradio-Feed :-)
WTH means guid
--------------
guid
Globally Unique Identifier
Example files
=============
Metainformation in examples
---------------------------
Lukas' Weblog
title of weblog
A Weblog about my life and everything else
subtitle of weblog
http://lukas-prokop.at/blog/
URL to weblog
Ed Itor
main editor, writer, author
ed@it.org
the author's emailaddress
Geek Hacker
the technical master of the weblog
geek@hacker.org
the emailadress of the technical master
RSS 2.0
-------
+----------------------------+---------------+
| XPath to element | maximal chars |
| | characters or |
| | RFC-standard |
+============================+===============+
| /rss/channel/title | 100 |
| /rss/channel/link | 500 |
| /rss/channel/description | 500 |
| /rss/channel/language | RFC 1766 |
| //pubDate | RFC 2822 |
| /rss/channel/lastBuildDate | RFC 2822 |
| //image/width | 144 |
| //image/height | 400 |
| /rss/channel/rating | 500 |
| //textInput/title | 100 |
| //textInput/description | 500 |
| //textInput/name | 20 |
| //textInput/link | 500 |
+----------------------------+---------------+
+----------------------------+-------------+
| XPath to element | appearance |
+============================+=============+
| //image/url | required |
| //image/title | required |
| //image/link | required |
| //image/width | required |
| //image/height | required |
| //image/description | required |
+----------------------------+-------------+
Lukas' Weblog
http://lukas-prokop.at/blog/
A Weblog about my life and everything elsede-deCopyleft 1991-2009 by Ed Itored@it.org (Ed Itor)geek@hacker.org (Geek Hacker)Mon, 03 Aug 2009 20:38:30 +0000 $ date of publication, if greater than now, ignore itMon, 03 Aug 2009 20:38:30 +0000 $ date of generation; cannot be greater than nowWeblog/Private $ path-similar structure to integrate the weblog globally; unspecifiedPyRSS2Gen $ generator of RSS-documenthttp://cyber.law.harvard.edu/rss/rss.html $ URL to RSS-specification86400 $ seconds after the aggregator should parse the feed againhttp://lukas-prokop.at/blog/titlepic.jpg $ URL to imagea nice avatar $ Beschreibung der Graphik; wie alt="" in HTML
http://lukas-prokop.at/blog/feed.rss $ URL zum Feed
88 $ default 8831 $ default 31Avatar $ wie title="" in HTML?? $ PICS-rating; see http://w3.org/PICS/ Newsletter abbestellenBitte ihre ID eingeben und ihnen wird dieser Newsletter nicht mehr geliefertnewsletter $ name of object
http://lukas-prokop.at/no-newsletter.cgi
http://lukas-prokop.at/blog/2009/08/why-php-sucks.html
I explain why PHP sucks
]]>
lukas@prokop.at (Lukas Prokop)/articles/article/technology/php $ wieder unstandardisierthttp://lukas-prokop.at/blog/2009/08/why-php-sucks.html#add-commenthttp://lukas-prokop.at/blog/2009/08/why-php-sucks.htmlMon, 03 Aug 2009 21:43:30 +0000PHP official Homepage
.. [*] It specifies a web service that supports the rssCloud interface which can
be implemented in HTTP-POST, XML-RPC or SOAP 1.1. Its purpose is to allow
processes to register with a cloud to be notified of updates to the channel,
implementing a lightweight publish-subscribe protocol for RSS feeds.
In this example, to request notification on the channel it appears in,
you would send an XML-RPC message to rpc.sys.com on port 80, with a path
of /RPC2. The procedure to call is myCloud.rssPleaseNotify.
iTunes Extension
----------------
Harald Schmidt $ iTunes "Interpret"yes $ shall the element item or channel be ignored?; "yes" or "no"5:40:33 $ 5 hours, 40 minutes, 33 seconds, values require only one number; "SS:MM:ss", "MM:SS" or "SS"yes $ censorship-tag, yes=show warning in title bar, clean=no "adult only"-content,
no=ignore content; yes no cleanTech, Websitedevelopment, W3Chttp://example.org/ $ only use it at channel-layerFoobar Barfoofoobar@bar.orgBeschreibung $ short!, iTunes "Description"A small description $ max 4000 chars, iTunes "Information"
RSS 1.0 RDF
-----------
+-----------------------------------+---------------+
| XPath to element | maximal chars |
| | characters or |
| | RFC-standard |
+===================================+===============+
| /rdf/channel/description | 500 |
| /rdf/channel/item/description | 500 |
| /rdf/channel/item/image/title | 40 |
| /rdf/channel/item/ | |
| textinput/description | 100 |
| /rdf/channel/item/textinput/name | 500 |
| /rdf/channel/item/title | 100 |
+-----------------------------------+---------------+
+----------------------------------+-------------+
| XPath to element | appearance |
+==================================+=============+
| //[@rdf:*] | required |
| /rdf/channel/item/description | optional |
| /rdf/channel/item/image | optional |
| /rdf/channel/item/textinput | optional |
+----------------------------------+-------------+
Lukas' WeblogA Weblog about my life and everything elsehourly $ "daily", "weekly", "monthly" and "yearly"21901-01-01T00:00+00:00Why PHP sucks
http://lukas-prokop.at/blog/why-php-sucks.html $ like rdf:about
article or a summary of the article (no HTML!)Copyleft 2009 by Lukas ProkopLukas Prokop2009-09-15T11:05:00+02:00Title Image $ like html's alt=""http://lukas-prokop.at/blog/why-php-sucks.jpg $ like rdf:resource
http://lukas-prokop.at/blog/ $ link behind image
Subscribe $ title of submit buttonYou like my article "Why PHP sucks"? Subscribe to my weblog $ What the submit button doesA name to identify CGI Script
http://lukas-prokop.at/blog/subscription.cgi $ like rdf:resource
Why HTML sucks
http://lukas-prokop.at/blog/why-html-sucks.html
Atom (RFC 4287)
---------------
+-----------------------------------+---------------+
| XPath to element | maximal chars |
| | characters or |
| | RFC-standard |
+===================================+===============+
| /feed/entry/updated | RFC 3339 |
+-----------------------------------+---------------+
+----------------------------------+-------------+------------------------+
| XPath to element | appearance | condition |
+==================================+=============+========================+
| /feed[@xmlns] | required | |
| /feed/post | optional | |
| /feed/author | optional | each item-element |
| | | contains an author |
| /feed/author/email | optional | |
| /feed/author/uri | optional | |
| /feed/contributor | optional | author is set |
| /feed/contributor/email | optional | |
| /feed/contributor/uri | optional | |
| /feed/category | optional | |
| /feed/category[@term] | required | |
| /feed/category[@^term] | optional | |
| /feed/generator[@version] | optional | |
| /feed/entry/title | required | |
| /feed/entry/summary | required | no content is set or |
| | | content contains no |
| | | Text, XML or HTML |
| /feed/entry/summary[@url] | optional | |
| /feed/entry/summary[@url] | required | content must be empty |
| | | summary is required |
| /feed/entry/content[@type] | optional | |
+----------------------------------+-------------+------------------------+
Lukas' WeblogLukas Prokopluk@example.orghttp://lukas-prokop.at/TojafoobarA weblog about my life and everything elsehttp://lukas-prokop.at/blog/atom.xmlWordpressCopyleft 2009 by Lukas Prokop
Der Feed bringt regemäßige Update von meinem Weblog.
Nutze ihn um aktuelle Informationen zu bekommen.
2009-09-15T12:18:00+02:00 $ last update, RFC 3339Why PHP sucksFooBar127.0.0.1BarBazhttp://lukas-prokop.at/blog/permalink?q=why-php-sucks2009-09-15T12:48:26+02:00 $ datetime of publication; RFC 3339Copyleft 2009 BarBazThe reason why PHP sucks and not sucks
Some might think that it is your personal point of view to support or rant PHP,
but there are good reason for / against PHP.
]]>
Example files
-------------
Chaosradio_ and LukasWeblog_.
.. _Chaosradio: http://chaosradio.ccc.de/chaosradio-latest.rss
.. _LukasWeblog: http://lukas-prokop.at/blog/feed/