210 likes | 400 Views
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
E N D
Ein Vortrag über RSS (RDF Site Summary) 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 • Core-Syntax für RSS 1.0 • Zusammenfassung
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
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.)
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“
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.
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)
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>
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>
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.
Erweiterung zu RSS-1.0 • RSS 0.91 besitzt sehr wenige Elementeund 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.
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? Core-Syntax für RSS 1.0
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
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
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
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
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
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
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
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.0 groups.yahoo.com/group/rss-dev/files/specification.html