Keine Formatierung des rss-Sheets
Arne
- xml
Hallo,
ich bin Anfänger und auch noch Autodidakt. Daher hab ichs auch nicht so mit der Terminologie. Ich hoffe, man versteht mich dennoch:
Ich habe für meine Seite ein rss-Sheet erstellt.Wenn ich nun auf das orange Ress-Icon im FF klicke, wird der Text auch angezeigt, jedoch komplett ohne Formatierung. Ich weiß, dass ich noch kein für diese XML-Datei CSS erstellt habe, bin mir aber nicht sicher, ob das wirklich das Problem ist. Hier mal mein Datei.
Danke und Gruß
Arne
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91"> <?xml-stylesheet type="text/css" href="style.css"?>
<channel>
<title>Internationale Zeitschrift für Larmoyanz </title>
<link>http://www.izl-online.com.de</link>
<description>Die »Internationale Zeitschrift für Larmoyanz« bildet die Online-Nachfolge
der von Christoph Lebies gegründeten »Zeitschrift für Larmoyanz« und möchte
Autoren und Künstlern eine Plattform für Ihre Ideen bieten. Eine
Besonderheit sind die Audio- und Videopodcasts.
</description>
<language>de-de</language>
<copyright>01.04.2007</copyright>
<item>
<title>habemus beppo</title>
<description>Ratzinger und Haberland auf Malle</description>
<link>http://www.izl-online.com/dan_habemus.html</link>
</item>
[es folgen weitere items]
</channel>
</rss>
Hallo Arne,
Wenn ich nun auf das orange Ress-Icon im FF klicke, wird der Text auch angezeigt, jedoch komplett ohne Formatierung.
RSS-Feeds (ich nehme an, dass Du das meintest) sollen ja auch ohne Formatierungen sein - eben reine (maschinenlesbare) Daten.
Phlo
Hallo Phlo,
danke für die Antwort.
RSS-Feeds (ich nehme an, dass Du das meintest) sollen ja auch ohne Formatierungen sein - eben reine (maschinenlesbare) Daten.
Wenn man beispielsweise bei Spiegel auf das RSS-Icon klickt, erscheint diese Seite mit den Nachrichten und der Möglichkeit, diese Nachrichten als "dynamisches Lesezeichen" zu abonnieren. So wollte ich das auch erstellen.
Gruß
Arne
Hallo,
Wenn man beispielsweise bei Spiegel auf das RSS-Icon klickt, erscheint diese Seite mit den Nachrichten und der Möglichkeit, diese Nachrichten als "dynamisches Lesezeichen" zu abonnieren. So wollte ich das auch erstellen.
Vielleicht wird Dein RSS-Feed nicht als XML erkannt, weil es nicht mit dem richtigen Header ausgeliefert wird (dann könnte man z.B. per .htaccess-Datei nachhelfen: "AddType application/rss+xml .xml"). Aber das ist jetzt reine Spekulation. Hast Du keine URL zu dem Feed?
Phlo
Hallo
Vielleicht wird Dein RSS-Feed nicht als XML erkannt, weil es nicht mit dem richtigen Header ausgeliefert wird (dann könnte man z.B. per .htaccess-Datei nachhelfen: "AddType application/rss+xml .xml"). Aber das ist jetzt reine Spekulation. Hast Du keine URL zu dem Feed?
Danke! Bisher habe ich die Seite noch nciht hochgeladen, da es ja nicht funktioniert. Ist das ggf. sogar das Problem?
Arne
Hello out there!
Daher hab ichs auch nicht so mit der Terminologie.
Ich habe für meine Seite ein rss-Sheet erstellt.
Feed.
Wenn ich nun auf das orange Ress-Icon im FF klicke, wird der Text auch angezeigt, jedoch komplett ohne Formatierung.
FF 1.0.x oder 1.5.x?
Ab 2.0 zeigt FF bei Feeds nicht den XML-Quelltext, sondern formatiert den Inhalt, Links sind dann auch anclickbar ...
See ya up the road,
Gunnar
Feed.
Ok! Danke.
FF 1.0.x oder 1.5.x?
2.0
Ab 2.0 zeigt FF bei Feeds nicht den XML-Quelltext, »»sondern formatiert den Inhalt, Links sind dann auch »»anclickbar ...
Genau das klappt nicht!
Gruß
Arne
Hallo Arne,
Feeds in RSS oder Atom sind erstmal reine XML-Formate, Formatierung geschieht da nicht, denn die Dinger werden meist nicht im Browser angezeigt sondern in eigener Software. Insofern muss man sich als Anbieter von Feeds nicht im Formatierung kümmern. Sollte man auch eigentlich nicht, denn Feeds sind ja meist dazu da, nur Informationen ohne Layout zu transportieren.
Trotzdem haben sich Anbieter früher Gedanken gemacht, was passiert, wenn der Nutzer zufällig auf den Link zu einem Feed klickt und dann nur XML sieht und nichts damit anfangen kann. Das war also ein Usability-Problem. Also haben manche CSS- oder XSLT-Stylesheets eingebunden, die den Feed formatierten (soweit das mit CSS auf XML möglich ist, siehe die Link-Anklick-Problematik) und oben drüber eine Information einblendeten, dass das ein Feed sei und dass man den in einem Feedreader abonnieren könne und dass das eigentlich nicht so praktisch im Browser sei.
Irgendwann kamen dann die Browser-Hersteller auf die Idee, dass man die Anzeige von Feeds auch im Browser machen könne, also die Funktionalität eines Feedreaders in den Browser integrieren. Den Anfang machte OmniWeb, dann kamen Firefox-Erweiterungen, Firefox Live-Bookmarks, Opera, Safari, IE 7 und damit auch die Frage der Darstellung von Feeds im Browser. Also entwickelten die Browser-Hersteller eine generelle Ansicht für Feeds, schließlich will man den Nutzer ja nicht mit lauter unterschiedlicher Layouts für dieselbe Anwendung (Abonnieren und Sichten von Feeds) verwirren. Das ist das, was Du siehst, wenn Du einen Feed im Web in Safari oder Firefox oder IE 7 aufrufst. Wieder eine Lösung für die Usability-Frage, diesmal nicht von Feed-Anbietern sondern von Browser-Seite aus.
Du stolperst jetzt über zwei Dinge:
• Wenn ein Feed in Firefox (oder Safari. Oder IE 7) über HTTP aufgerufen wird, wird die Feed-Ansicht des Browsers angezeigt. Dieser kümmert sich nicht um ein vorhandenes CSS- oder XSLT-Stylesheet. Feeds sind für die Browser nicht einfach 08/15-XML-Formate, sondern spezielle Formate, auf die sie speziell reagieren. (Firefox macht das sogar ziemlich aggressiv, verlässt sich nicht nur auf den MIME Media-Typ sondern betreibt Content Sniffing) Als Anbieter von Feeds braucht man (ausser für ältere Browser) also kein Stylesheet für Feeds zu gestalten.
• Du entwickelst den Feed aber wahrscheinlich lokal, d.h. Du öffnest die Datei im Browser wie bei HTML Dateien. Dummerweise behandelt Firefox da die Datei wie eine 08/15-XML-Datei, d.h. nicht besonders als Feed. Zumindest konnte ich ihn nicht zu so etwas zwingen. Safari reagiert da anders, wieder wegen Content Sniffing. Sprich: Ruft man eine Feed-Datei lokal mittels file-Protokoll auf, ist es für Firefox kein Feed mehr. Dadurch kommt dann wieder die XML-Datei-Behandlung in Kraft und Dein Bedürfnis nach einem den Feed formatierenden Stylesheet.
Wenn man das HTML-Entwicklungs-Modell gewöhnt ist, ist das natürlich nervig. Wenn man einen Feed entwickelt, ist es also praktischer, das gleich auf einem Webserver zu machen, also entweder lokal mit XAMPP oder ähnlichen oder in einer Testumgebung auf dem Webspace.
Und die Formatierung von Feeds? Ich würde darauf verzichten, es lohnt nicht den Aufwand.
Zwei Anmerkungen zu Deinem Feed:
<rss version="0.91">
Wenn man RSS verwenden will, spricht übrigens nichts dagegen RSS 2.0 zu verwenden. Tatsächlich ist das sowieso das bevorzugte RSS seit Jahren; mir ist relativ unklar, wie man noch auf das alte RSS 0.91 in der Userland-Variante kommen kann. View Source bei anderen Feeds vielleicht? Wenn ja, kann ich Dir nur empfehlen das nicht zu machen. Besser ist es, nach der Anleitungen bzw. der Spezifikation zu gehen:
• Die RSS 2.0 „Spezifikation“
• Das RSS 2.0 Profil wurde erarbeitet, weil die RSS 2.0 Spezifikation manchmal recht vage oder wackelig ist. Das Profil fasst also zusammen, was man am besten tun sollte, damit man bei der Mehrzahl von Feedreadern ein konsistentes Ergebnis erhält.
• Auf jeden Fall solltest Du den Feed mit dem Feedvalidator auf Korrektheit überprüfen; die zusätzlichen Warnungen dieses Validators basieren auf obigem RSS-Profil. Und es gibt auch einen anderen Feedvalidator von Validome, zweifache Überprüfung kann nie schaden.
Für das andere Feed-Format Atom gilt dasselbe:
• Gutes Tutorial für Atom
• Strikte Spezifikation für Atom
• Und beide Validatoren können auch Atom.
(Du solltest Dich entweder für Atom oder für RSS entscheiden. Atom ist etwas strikter, aber besser spezifiziert und wird bevorzugt; aber im wesentlichen können sie dasselbe und sind sich recht ähnlich.)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">
<?xml-stylesheet type="text/css" href="style.css"?>
<channel>
Hier begehst Du streng genommen einen Fehler, die Anweisung zum Einbinden von XML-Stylesheets ist nur vor dem Root-Element eines XML-Dokumentes erlaubt. Hier hast Du es unterhalb des Root-Elementes <rss>. Aber selbst wenn man es umsortiert, bleibt Firefox' komische Behandlung von lokalen Feed-Dateien bestehen.
Tim
Hallo Tim,
erstmal vielen vielen Dank für diese lange und super informative Erklärung! Die lese ich sicher noch 5 mal! :-) Das hat mir 'ne Menge verdeutlicht.
Jetzt noch eine Frage. Bedeutet Deine Aussage
• Du entwickelst den Feed aber wahrscheinlich lokal, »»d.h. Du öffnest die Datei im Browser wie bei HTML »»Dateien.
dass ich das ganze mal auf den 1&1 Server hochladen sollte, und es dann evtl. funktioniert. Oder ist das eine komplette Fehlinterpretation?
Nochmals vielen Dank!
Arne
Hallo Arne,
erstmal vielen vielen Dank für diese lange und super informative Erklärung!
Danke für den Dank. ;)
• Du entwickelst den Feed aber wahrscheinlich lokal, »»d.h. Du öffnest die Datei im Browser wie bei HTML »»Dateien.
dass ich das ganze mal auf den 1&1 Server hochladen sollte, und es dann evtl. funktioniert. Oder ist das eine komplette Fehlinterpretation?
Ja. Oder auf einen lokal auf Deinem System installierten Apachen. Es kommt darauf an, dass die Resourcen via HTTP ausgeliefert werden.
Tim