Upload
kane-franks
View
47
Download
0
Embed Size (px)
DESCRIPTION
Ein Vortrag über RSS ( R DF S ite S ummary). a lightweight multipurpose extensible metadata description and syndication format. Gliederung. Einführung Was ist RSS? Geschichte RSS- Dokumentstruktur Beispiel-Channel mit RSS 0.91 Funktionsweise Erweiterung zu RSS 1.0 - PowerPoint PPT Presentation
Citation preview
Kilian Lenz
Webbasierte Informationssysteme WS 2000/2001
Ein Vortrag über
RSS (RDF Site Summary)a lightweight multipurpose extensible metadata
description and syndication format
2Kilian Lenz
Gliederung• Einführung
– Was ist RSS?– Geschichte
• RSS-Dokumentstruktur– Beispiel-Channel mit RSS 0.91– Funktionsweise– Erweiterung zu RSS 1.0– Core-Syntax für RSS 1.0
• Zusammenfassung
3Kilian Lenz
Einführung - Was ist RSS?• Lightweight:
– simple Erweiterung von XML - im Gegensatz zu XML-News oder ICE
– deshalb „lesbar“ und von Hand editierbar– automatisierungsfähig
• Multipurpose:– ursprünglich als reines framework für
News-Headlines gedacht– heute auch für Diskussionsforen,
Sporttabellen, Jobangebote, Ankündigungen etc.
• Extensible:– erweiterbar über XML-namespaces
4Kilian Lenz
Einführung - Was ist RSS? (2)• Metadata:
– enthält einfaches RDF zur Beschreibung von Channels
• Syndication:– das Ziel: Verbreitung der wichtigsten
Informationen der eigenen Site als „snapshot-in-a-document“ z.B. im MyNetscape-Network
– Aggregation und Veröffentlichung von News
– (Syndication meint hier nicht die Verbreitungsart wie push, pull, subscribe etc.)
5Kilian Lenz
Einführung - Geschichte• 1997 von Dave Winer „erfunden“
als Versuch mit XML eine News-Site zu erweitern
• 1999 von Netscape übernommen?– weiterentwickelt für My.Netscape - ein
personalisierter Nachrichtendienst, der XML/RSS-0.9-channels in HTML übersetzen konnte.
• 2000 RSS 0.91 als Kombination von Winers und Netscapes RSS veröffentlicht– Abkehr vom RDF– erhielt neue Elemente aus Winers „Userland‘s
scriptingNews format“
6Kilian Lenz
Einführung - Geschichte (2)• nach AOL-Übernahme:
Einstellung der Entwicklung bei Netscape
• danach von Winers und ehem. Mitarbeitern fortgeführt und von W3C anerkannt
• heute RSS 1.0 – wieder RDF-like für eine namespace
basierte modulare Struktur– erlaubt somit eine Standardisierung aber
auchwohldefinierte Anpassungsfähigkeit an eigene Bedürfnisse.
7Kilian Lenz
RDF Site Summary 0.91• Einfachster Fall:
– RSS ist XML-Dokument, das einen Channel beschreibt, der verlinkte „Items“ enthält
– „Metadata Summary“
• Jedes „Item“ besteht aus – Titel– Link (URL)– kurze textliche Beschreibung (plain text)
8Kilian Lenz
RSS-0.91-Beispiel<?xml version="1.0"?><!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd"> <rss version="0.91"> <channel> <title>MozillaZine</title> <link>http://www.mozillazine.org</link> <description>Your source for Mozilla news, advocacy,...</description> <language>en-us</language> <image> <title>MozillaZine</title> <url>http://www.mozillazine.org/image/mynetscape88.gif</url> <link>http://www.mozillazine.org</link> <width>88</width> <height>31</height> <description>Articles, discussions, builds, and more...</description> </image> <item> <title>Java2 in Navigator 5?</title> <link>http://www.mozillazine.org/talkback.html?article=607</link> <description>Will Java2 be an integrated part of Navigator 5? Read more about it in this discussion...</description> </item>
9Kilian Lenz
RSS-Beispiel (2) <textinput> <title>Send</title> <description>Comments about MozillaZine?</description> <name>responseText</name> <link>http://www.mozillazine.org/cgi-bin/sampleonly.cgi</link> </textinput> </channel> </rss>
10Kilian Lenz
RSS-Beispiel (3)
11Kilian Lenz
Funktionsweise bei MyNetscape
• Anmelden des RSS-Files bei MyNetscape– RSS-File muß auf eigenem Server ständig zur
Verfügung stehen.– MyNetscape checkt RSS-File und stellt
„Add this Site“-Button zur Verfügung.– Einfügen des Buttons auf der eigenen
Homepage.
• Interessenten: Channel auf eigener Seite einfügen:– Der Channel wird bei jedem Aufruf von
MyNetscape in HTML gerendert zur Vefügung gestellt.
– Update der Daten: per „schedule“ vom RSS-File.
12Kilian Lenz
Erweiterung zu RSS-1.0 • RSS 0.91 besitzt sehr wenige Elemente
und ist nicht erweiterbar!– User definierten selbst neue Tags und
benutzen HTML in Items Chaos
• RSS 1.0 besitzt (wieder) RDF-Fähigkeiten • deswegen Einführung von:
– namespaces– Assoziation jeder Resource mit einer URI
(rdf:about-Attribut) Aggregation von Items– Table of Contents (vgl. Zitat/Referenz)
Motivation: Aggregatoren extrahieren Daten um eigene Syndikate zu erstellen. Damit geht die Channelherkunft verloren.
13Kilian Lenz
Core-Syntax für RSS 1.0• XML-Version-Tag
– <?xml version=“1.0“?>– optional ab RSS 0.91
• RDF-Element– <rdf:RDF xmlns:rdf={URL}>– benötigt– enthält: channel, image?, item+, textinput?
• Channel-Tag– <channel rdf:about={resource}>– benötigt– Attribut: rdf:about Identifier für Channel-URI– enthält: title, link, description, image?, items,
textinput?
14Kilian Lenz
Core-Syntax (2)• Titel des Channels
– <title> {Titel} </title>– benötigt– #PCDATA, Länge ca. 40 Zeichen
• Link für Channel-Titel– <link> {URL} </link>– benötigt– #PCDATA, Länge ca. 500 Zeichen
• Description Kurzbeschreibung des Channelinhaltes– <description> {Text} </description>– benötigt– #PCDATA, Länge ca. 500 Zeichen
15Kilian Lenz
Core-Syntax (3)• RDF-Image-Assoziation
– <image rdf:resource={URI}/>– optional
• RDF-Items-Assoziation– RDF-Inhaltsverzeichnis der Items– <items><rdf:Seq><rdf:li resource={URI}/> ...
</rdf:Seq></items>– benötigt
• RDF-Textinput-Assoziation– <textinput rdf:resource={URI}/>– nur für Textelement benötigt
16Kilian Lenz
Core-Syntax (4)• Image
– <image rdf:about={URI}> ... </image>– optional, Größe 88 x 31 Pixel– enthält title (alternative), url, link
• Titel für Image oder Item– <titel> {Text} </title>– benötigt, falls Element vorhanden– #PCDATA, ca. 40 Zeichen
• URL des Bildes– <url> {URL} </url>– benötigt– #PCDATA, ca. 500 Zeichen
17Kilian Lenz
Core-Syntax (5)• Link für Image, Item oder Textinput
– <link> {URL} </link>– benötigt– #PCDATA, Länge ca. 500 Zeichen
• Item– <item rdf:about={URI}>– mind. 1 Element (bei RSS <1.0 maximal 15)– enthält title, link, description?
• Description für Item oder Textinput– <description> {Text} </description>– optional– #PCDATA, Länge ca. 500 Zeichen
18Kilian Lenz
Core-Syntax (6)• Textinput für Usereingaben
– <textinput rdf:about={URI}>– enthält title, name, link, description?
• Name– <name> {textinput varname} </name>– required– #PCDATA, Länge ca. 500 Zeichen
• Erweiterung durch Module– Einbindung über namespaces
19Kilian Lenz
Zusammenfassung• RSS spezifiziert keinen Notification-
Service sondern nur Inhalte.• RSS stellt einfache
Beschreibungssprache für Channels zur Verfügung– XMLNews, ICE == overkill
• erweiterbar• Möglichkeit der Aggregation von Items
– aus verschiedenen Channels (Syndication) für maßgescheiderte Angebote
– z.B. xmlTree, My.UserLand
20Kilian Lenz
Zusammenfassung (2)• MyN-Channel erlaubt Angebot von
fremden Anbietern auf eigener Seite zu publizieren, ohne sich um Darstellung zu kümmern.
• Aktualisierung des Inhalts durch MyN. mit jedem Aufruf des Channels (pull)
• Kaum Unterschied zu CDF• ca. 2000 RSS-Quellen in über 300
Kategorien• wird kaum von bekannten/großen
Content-Providern eingesetzt
21Kilian Lenz
Quellen• Rael Dornfest: „Writing RSS 1.0“ www.oreillynet.com/pub/a/network/2000/08/25/magazine/
rss_tut.html
• Dave Winer: „What to do about RSS?“davenet.userland.com/2000/09/02/whatToDoAboutRss
• R. Dornfest: „Lightweight Web Syndication“
www.xml.com/pub/2000/07/17/syndication/rss.html
• MyNetscapeNetwork: „Quick Start Guide“
my.netscape.com/publish/help/mnn20/quickstart.html
• RDF Site Summary 1.0groups.yahoo.com/group/rss-dev/files/specification.html