Frage zu RSS-Feed Generierung
Herr Rossi
- xml-derivat
Tag zusammen! =)
Ich fange gerade an, mich mit dem RSS-News-Feed-System zu beschäftigen, da ich beim kompletten Relaunch meines weblogs im kommenden Sommer sowas anbieten möchte.
Da ich die Seiten mit php und mysql selbst schreibe und keine blogsoftware verwende, habe ich deshalb auch kein automatisches RSS-System dabei.
Ich würde jetzt gerne wissen, wie und ob man sowas mit php verwirklichen kann. Was mir nämlich unklar ist : Sobald ich es mit php mache, hat die Seite ja die entsprechende php-Endung. Ist das kein Problem oder MUSS die Seite eine xml-Endung haben?
Php wäre ja super, weil ich da einfach die letzten 10 Überschriften der Artikeln aus der Datenbank auslesen könnte und diese dann als items für die RSS-Seite verwenden könnte. Die Frage ist nur, ob das geht.
Beim Googeln habe ich nicht wirklich was gefunden, was mir weitergeholfen hat. Weiß von Euch wer Seiten, wo ich mich da weiterbilden kann? In welche Richtung muß ich da gehen, um mein Ziel zu verwirklichen?
Ich habe heute Vormittag zum ersten mal eine Seite gefunden, wo so ein RSS-Feed NICHT mit xml endet : Auf http://www.zdnet.de/service/feeds.htm findet man folgende 2 Feeds :
http://www.zdnet.de/feeds/news/xml/rss_h5.xml.htm und
http://www.zdnet.de/feeds/news/xml/rss_h20.xml.htm
Und hier sind es html Endungen. Das würde ja wieder dafür sprechen, daß eine php Endung auch OK ist. WIe gesagt, beim Thema RSS bin ich völliger Anfänger und über jeden Hinweis und jede Hilfe dankbar.
Grüße und Danke im Voraus!
Rossi =)
Hallo Herr,
Sobald ich es mit php mache, hat die Seite ja die entsprechende php-Endung.
Ist das kein Problem oder MUSS die Seite eine xml-Endung haben?
Nein, muß sie nicht. Das ist wie mit HTML, HTML-Seiteb brauchen auch nicht
auf .htm oder .html zu enden, das ist nur eine Konvention, die sich daraus
ergeben hat, daß die meisten Webserver den URI-Baum einer Domain auf das
Dateisystem übersetzen.
Genauso ist das mir RSS, das kann unter http://example.org/rss oder
unter http://example.org/rss.xml oder auch unter so offenkundlich
idiotischem wie http://example.org/index.php?lastitems=10&mode=rss
liegen. Es gibt meines Wissens keinen offiziellen registrierten MIME-Typen
für RSS (So wie es text/html für HTML wäre), allerdings wird überall
application/rss+xml genutzt. Wobei das eigentlich falsch wäre.
Php wäre ja super, weil ich da einfach die letzten 10 Überschriften der
Artikeln aus der Datenbank auslesen könnte und diese dann als items für die
RSS-Seite verwenden könnte. Die Frage ist nur, ob das geht.
Jepp. Beachte aber, daß ein RSS-Item auch aus mehr bestehen kann, so
zum Beispiel eine Angabe des Datums und eine Description. Gerade bei
Weblogs geht der Trend dahin, den kompletten Weblogeintrag komplett
im <description> zu haben.
Beim Googeln habe ich nicht wirklich was gefunden, was mir weitergeholfen
hat. Weiß von Euch wer Seiten, wo ich mich da weiterbilden kann? In welche
Richtung muß ich da gehen, um mein Ziel zu verwirklichen?
Öhm, was suchst Du denn genau? Den RSS Standard? Der von RSS 2.0 liegt
hier herum: http://blogs.law.harvard.edu/tech/rss
PHP-Module? Guck mal bei PEAR, da dürfte genug rumfliegen. Allerdings
willst Du wohl alles selber machen? ;-)
Tim
Moin,
Öhm, was suchst Du denn genau? Den RSS Standard?
Wobei dann noch zu klären wäre _welchen_ RSS-Standard. ;-)
Ein bisschen zur Abschreckung: http://diveintomark.org/archives/2004/02/04/incompatible-rss
Hallo Henyrk,
Wobei dann noch zu klären wäre _welchen_ RSS-Standard. ;-)
Ein bisschen zur Abschreckung: http://diveintomark.org/archives/2004/02/04/incompatible-rss
<schwanzvergleich>
Ich lametiere schon sehr viel länger über RSS als Du.
</schwanzvergleich>
;-)
Ich würde aber immer nur RSS 2.0 ohne zusätzliche Namensräume empfehlen.
Es ist simpler als RSS 1.0 und man spart sich ein rumgemurkse mit den
0.9x-Versionen. Und durch den Verzicht auf Namensräume spart man sich
eventuelle Konflikte mit Feedreadern.
Tim
Ich würde aber immer nur RSS 2.0 ohne zusätzliche Namensräume empfehlen.
Es ist simpler als RSS 1.0 und man spart sich ein rumgemurkse mit den
0.9x-Versionen. Und durch den Verzicht auf Namensräume spart man sich
eventuelle Konflikte mit Feedreadern.Tim
Hi Tim! =)
Na da ist ja schon mal was, woran ich mich halten kann. Danke für die Info. Wie meinst Du das genau mit den Namensräumen? Kannst Du mir vielleicht ein Beispiel eben oder mir sagen, wo ich mir das ansehen und durchlesen soll?
Grüße
Rossi =)
Hallo Herr,
Wie meinst Du das genau mit den Namensräumen? Kannst Du mir vielleicht ein
Beispiel eben oder mir sagen, wo ich mir das ansehen und durchlesen soll?
In Kürze: In XML kann man verschiedene XML-Formate zusammenfassen bzw.
einbinden. Damit man diese dann nicht verwechselt, gibt es Namensräume.
Siehe auch http://selfhtml.teamone.de/xml/regeln/namensraeume.htm
In RSS sieht das nun so aus, daß man seit RSS 2.0 seinen Feed um neue,
nicht in der RSS-Spezifikation stehende Elemente erweitern kann, wenn
man diese über Namensräume einbindet. Das ist nicht gerade Rocket Science,
RSS 1.0 (Ein ganz anderes Format, trotz des Namens) macht das auch. Sieht
dann ungefähr so aus:
dc:date2004-02...</dc:date>
"date" ist hier ein Element aus dem Dublin Core Namensraum, einem mehr oder
weniger Standard für Metadaten von Dokumenten. Der Namensraum wird dann
durch das "dc:" bezeichnet.
Was ich eigentlich meinte: Man soll natürlich nicht nun auf Namensräume
verzichten. Ein Newsreader sollte damit umgehen können bzw. die Elemente
aus anderen Namensräumen, die er nicht kennt ignorieren. Nun gab es Mitte
2003 den Trend, Namensräume in RSS 2.0 Feeds so zu benutzen, daß bestimmte
Elemente aus dem RSS 2.0 Standard durch ein Element aus dem DC-Namensraum
ersetzt wurden. Konkret zum Beispiel <pubDate> durch dc:date. Aus was
für Gründen aus immer. Die Voreinstellungen von Movable Type machen das
zu Beispiel. Beachte: Das ist durchaus legitim, <pubDate> ist ein optionales
Element eines Feeds nach RSS 2.0. Nur: Man kann nicht verlangen, daß ein
Feedreader jedes noch so absurde Element unterstützt. (Wobei Dublin Core
vieles, aber nicht obskur ist, ja)
Weswegen ich dann die Schlußfolgerung ziehe, daß man, wenn in der RSS 2.0
Spezifikation schon ein passendes Element existiert, man dieses nutzen
sollte und nicht etwas aus einem Namensraum. Man sollte also die
Verhältnismäßigkeit beachten, damit Feedreader auch noch etwas mit dem
Feed anfangen können. Das meinte ich mit meinem arg verkürzten Posting.
Nebenbei: Was passiert nun, wenn ein Feedreader auf zwei konkurrierende
Elemente stößt? Die Spezifikation sagt darüber nichts aus, auch sonst
ist die RSS 2.0 Spezifikation eine sehr schwache Spezifikation, die zu
Mißverständnissen einlädt. Und um den oben skizzierten Streit entwickelte
sich dann eine größere Kontroverse, angefangen damit, daß Dave Winer, der
Autor und frühere »Besitzer« von RSS 2.0, solche Feeds generell mit dem
technischen Fachwort »funky« belegte. DW ist sowieso ein etwas schwieriger
Mensch. Diese Kontroverse führte dann dazu, daß viele andere anfingen, ein
neues Format für Newsfeeds zu entwickeln. Inzwischen heißt es Atom und
befindet sich auf dem guten Weg zu einem RFC, das heißt einem Standard
des Internetzes. Man sollte sich zumindest mal darüber informieren, wenn
man solche Formate auch in Zukunft benutzen will, viele größere Player
unterstützen dieses Format.
(Und über deren zweite Entwicklung, der jetzt wieder stark kontroversen
Atom API erzählt Onkel Tim ein anderes Mal. Vieles ist auch nur ein
langweiliger Schwanzvergleich unter Entwickler.)
Tim
Hi Tim! =)
Vielen Dank für Deine Mühe, dies so ausführlich darzustellen. Das war echt informativ. Ich werde das Ganze jetzt mal verdauen und dann mit den Stichworten, die ich da heute so bekommen habe, zu googeln beginnen, um das Ganze zu verstehen und zu erlernen. Habe je noch ein paar Monate bis zum Relaunch, wo ich RSS dann anbieten möchte.
Danke nochmals und einen schönen Abend!
Rossi =)
Hallo Tim,
auch sonst ist die RSS 2.0 Spezifikation eine sehr schwache Spezifikation, die zu Mißverständnissen einlädt. Und um den oben skizzierten Streit entwickelte sich dann eine größere Kontroverse, angefangen damit, daß Dave Winer, der Autor und frühere »Besitzer« von RSS 2.0, solche Feeds generell mit dem technischen Fachwort »funky« belegte.
Wobei das ganze RSS 2.0 Tohuwabohu auf seinem Mist gewachsen ist.
Ich lehne zwar RSS 2.0 nicht generell ab, aber ich mag es überhapt nicht.
DW ist sowieso ein etwas schwieriger Mensch.
Etwas?? ;-)
Grüße
Thomas