underart: rss wird nicht verlinkt! bitte um hilfe!

ich habe ein problem beim einbetten eines selbst erstellten rss feeds auf meiner seite...
und zwar... ich habe das bild angegeben (dieses typische rss bild)und den link zu der xml... auf meiner seite wird mri das zwar nur ca 3px breit und 10 hoch angezeigt, aber das ist das kleinste problem.
wenn ich dort nun draufdrücke bringt mir firefox, anstatt mich zu dem rss zu verlinken folgende meldung:
firefox weiß nicht, wie diese adresse geöffnet werden soll, da das protokoll (c) mit keinem programm verknüpft ist.
was kann ich da machen damit es funktioniert?

  1. Hallo underart,

    Das deutet daraufhin, dass du auf einen Dateipfad, der mit C:\ anfaengt verlinkt hast, anstatt auf die http-Resource.

    Gruß,

    Dieter

    1. ja, das stimmt... es ist ja noch nicht online. habe bisher kaum was damit gemacht... will das ja auch noch nicht online testen. die ganze seite ist momentan noch offline. geht das irgendwie?

      1. Hallo,

        ja, das stimmt... es ist ja noch nicht online. habe bisher kaum was damit gemacht... will das ja auch noch nicht online testen. die ganze seite ist momentan noch offline. geht das irgendwie?

        Aha. Windows-Datei-Pfad, also. Lokal verlinkst Du entweder relativ ...

        <a href="feed.rss">

        ... wenn der Feed in demselben Verzeichnis liegt. Oder aber mit dem File-Protokoll:

        <a href="file:///C|/verzeichnis/verzeichnis/feed.rss">

        In dieser URL bedeutet „file“ soviel wie „Nutze die Datei-Lese-Funktionen des Betriebssystems“, die drei Schrägstriche, dass auf dem lokalen Computer und nicht auf irgendwelchen Netzwerkfreigaben gesucht wird und das „C|“ ist das „C:“ der Windows-Partition.

        Beachte bitte: In „C|“ wird ein senkrechter Strich (kein großes i) statt des Doppelpunktes benutzt. Dies ist deshalb so, weil in URIs Doppelpunkte nur an bestimmten Stellen erlaubt sind. Ebenso wird der Schrägstrich gegen den Backslash vertauscht.

        Tim

        1. Hello out there!

          Beachte bitte: In „C|“ wird ein senkrechter Strich (kein großes i) statt des Doppelpunktes benutzt. Dies ist deshalb so, weil in URIs Doppelpunkte nur an bestimmten Stellen erlaubt sind.

          Warum sollte ein ':' an dieser Stelle nicht erlaubt sein?

          'file:///C:/foo/bar' mal nach [RFC3986] auseinandergenommen:

          URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

          'file' ist scheme, '///C:/foo/bar' ist hier-part.

          hier-part   = "//" authority path-abempty
                            / path-absolute
                            / path-rootless
                            / path-empty

          '/C:/foo/bar' ist authority path-abempty

          authority   = [ userinfo "@" ] host [ ":" port ]

          host        = IP-literal / IPv4address / reg-name

          IP-literal und IPv4address matchen nicht, aber:

          reg-name    = *( unreserved / pct-encoded / sub-delims )

          reg-name ist also '', host auch, authority auch. Warum auch nicht? “The authority component is preceded by a double slash ("//") and is terminated by the next slash ("/") […]”

          '/C:/foo/bar' ist damit path-abempty.

          path-abempty  = *( "/" segment )

          'C:' ist segment, ebenso wie 'foo' und 'bar'.

          segment       = *pchar

          pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

          Passt schon.

          See ya up the road,
          Gunnar

          --
          „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          1. Hallo Gunnar,

            Warum sollte ein ':' an dieser Stelle nicht erlaubt sein?

            War. Pardon, ich hätte die Vergangenheitsform nehmen sollen.

            RFC 1630 definierte File-URIs als „fast gleich“ den FTP-URLs, die in demselben RFC so bnfifisiert waren:

            ftpaddress             f t p : / / login / path [  ftptype ]

            Uns interessiert nur „path“:

            path                   void |  segment  [  / path ]

            Und davon nur „segment“:

            segment                xpalphas

            xpalphas               xpalpha [ xpalphas ]

            xpalpha                xalpha | +

            xalpha                 alpha | digit | safe | extra | escape

            Und in keiner dieser Definitionen ist der Doppelpunkt enthalten:

            alpha                  a | b | c | d | e | f | g | h | i | j | k |
                                     l | m | n | o  | p | q | r | s | t | u | v |
                                     w | x | y | z | A | B | C  | D | E | F | G |
                                     H | I | J | K | L | M | N | O | P |  Q | R |
                                     S | T | U | V | W | X | Y | Z

            digit                  0 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

            safe                   $ | - | _ | @ | . | &  | + | -

            extra                  ! | * |  " |  ' | ( | )  | ,

            escape                 % hex hex

            Sprich: Es gab eine Zeit, an der der Doppelpunkt nicht erlaubt war; Microsoft sich also eine andere Repräsentation des Partition-Doppelpunktes ausdenken musste.

            In RFC 1738, auf dem File-URLs offiziell laut IANA noch basieren, wurde dies aber aufgehoben. Die spezielle Definition dort für Segmente in Dateipfaden enthält auch den Doppelpunkt:

            fsegment       = *[ uchar | "?" | ":" | "@" | "&" | "=" ]

            Tim

            1. soweit habe ich nun eigentlich das rss zum laufen gebracht...
              nur wie kann man das nun so machen dass es abonnierbar ist?
              bei z.b.:
              http://feeds.feedburner.com/n24/homepage
              gibt es ja oben diesen gelben kasten mit dem button.
              wie mache ich den hin?

              wie mache ich mein feed abonnierbar?

              1. Hallo,

                gibt es ja oben diesen gelben kasten mit dem button.
                wie mache ich den hin?

                Das ist die Anzeige von Feeds in Firefox. Andere Browser haben andere Anzeigen oder gar keine Anzeige. Du zeigst wieder nicht, wie Dein Feed aussieht, deswegen kann kein Mensch sagen, was an Deinem Feed nicht stimmt, so dass Firefox ihn nicht als Feed erkennt.

                Also entweder Du postest Deinen Beispielfeed hier oder aber Du guckst selber und zwar überprüfst Du ihn mit einem Feed Validator. Davon gibt es zwei. Der bekanntere Feed Validator kann nur Feeds im Netz validieren; Du solltest Deine Datei also hochladen. Der Validome Feed-Validator hat auch ein Datei-Hochlad-Formular. Ich mag den ersten Feed Validator etwas lieber; dessen Fehlermeldungen und Warnungen wurden von Experten gestaltet, die sich schon seit Jahren um Grenzfälle und dubiose Dinge rund um Feeds beschäftigen. Aber grundlegende Fehler in Feeds erkennen beide Validatoren – und so einer scheint bei Dir vorzuliegen.

                Tim

                1. der code der xml ist folgender:

                  <?xml version="1.0" ?>
                  <?xml-stylesheet type="text/css" href="style.css" ?>
                  <rss version="2.0">
                   <channel> <link>http://bla.com</link>
                    <title>Jenomics Trac</title>
                   <description>Trac von mir</description>
                   <language>de-de</language>
                   <copyright>ich</copyright>
                   <pubDate>Wed, 02 Oct 2002 08:00:00 EST</pubDate>

                  <item>
                    <title>Hauptseite</title>
                    <description>Hauptseite</description>
                    <link>http://www.web.de</link>
                    <guid>1</guid>
                   </item>

                  <item>
                    <title>Timeline</title>
                    <description>Timeline</description>
                    <link>http://www.yahoo.de</link>
                    <guid>2</guid>
                   </item>

                  <item>
                    <title>Roadmap</title>
                    <description>Roadmap</description>
                    <link>http://www.google.de</link>
                    <guid>3</guid>
                   </item>

                  <item>
                    <title>Browse Source</title>
                    <description>Browse Source</description>
                    <link>http://www.hotmail.de</link>
                    <guid>4</guid>
                   </item>
                          </channel>
                  </rss>

                  links habe ich mal verändert....

                  die css ist folgende:

                  channel{
                   margin-left: 15px;
                  }
                  channel title{
                   display:block;
                   width:600px;
                   background-color:white;
                   color:#000000;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size:20px
                   padding-top:10px;
                   font-weight: 700;
                   margin-left: 15px;
                  }
                  channel link{
                   padding-left: 15px;
                   display:block;
                   color: blue;
                   width:600px;
                   background-color:white;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size: 12px
                  }
                  channel description{
                   padding-left: 15px;
                   display:block;
                   width:600px;
                   background-color:white;
                   color:gray;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size:12px;
                   padding-bottom:10px;
                  }
                  item {
                   background-color:#C0C0C0;
                   margin-left: 15px;

                  }

                  item title{
                   display:block;
                   width:600px;
                   background-color:#808080;
                   color:#FFFFFF;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size:18px;
                   padding:5px;
                   margin-left: 15px;
                  }
                  item link{
                   display:block;
                   width:600px;
                   background-color:blue;
                   color:#000000;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size:16px;
                   padding:2px;
                   margin-left: 15px;
                  }
                  description {
                   display:block;
                   width:600px;
                   background-color:black;
                   color:#FFFFFF;
                   font-family:Tahoma,Arial,Helvetica,sans-serif;
                   font-size:12px;
                   padding-left: 15px;
                  }
                  pubDate,language,guid,copyright {
                   visibility: hidden
                  }

                  laut der seite ist mit meiner xml alles okay....

                  1. Hallo,

                    der code der xml ist folgender:

                    Bist Du sicher, dass das genau der ist? Ich hab den mal geklaut und temporär online gestellt (Sag, wenn Dir das unangenehm ist). Ich hab keine Probleme, in Browsern die Feed-Ansicht zu bekommen.

                    Ein paar Anmerkungen zu Deinem Feed, die sich aber alle nicht wirklich auf die Funktionalität auswirken können. Denn grob struktur-technisch ist der Feed ja in Ordnung.

                    <?xml version="1.0" ?>

                    Das hier sagt, dass keine spezifische Textkodierung deklariert wird, also der Default von UTF-8 oder UTF-16 genommen wird. Hat Dein Texteditor die Datei tatsächlich als UTF-8 gespeichert?

                    <?xml-stylesheet type="text/css" href="style.css" ?>

                    Im Gegensatz zu anderen XML-Dateien kümmern sich Browser bei Feeds nicht um Stylesheets. Die Ansicht in Firefox, die Du da siehst kommt nicht durch ein Stylesheet des Anbieters des Feeds, sondern aus dem Browser selber. Insofern kann man sich das Anlegen eines Stylesheets gut sparen.

                    <guid>1</guid>

                    Wenn GUIDs nicht das Attribut isPermaLink="false" hat, wird angenommen, dass der Wert true sei und logischerweise darin einer URL enthalten ist, die auf den den Eintrag verweist. Bei false ist zwar beliebiger Inhalt erlaubt, aber schlechter Stil. GUID steht für Global Unique Identifier, global eindeutig also. Eine reine Zahl ist das nicht. Besserer Stil ist es, dort wirklich eine Information reinzuschreiben, die wirklich global eindeutig ist. Eine UUID oder eben eine URL oder so. Ich hab in der Vergangenheit hier im Forum mehr zu GUIDs geschrieben, wenn es Dich interessiert.

                    die css ist folgende:

                    Wie gesagt: Du machst Dir da unnötig Arbeit, auf CSS kann man da wunderbar verzichten, denn schließlich hat es keine Auswirkung auf die Darstellung.

                    Tim

  2. Hallo,

    und zwar... ich habe das bild angegeben (dieses typische rss bild)und den link zu der xml... auf meiner seite wird mri das zwar nur ca 3px breit und 10 hoch angezeigt, aber das ist das kleinste problem.

    Das neuere Feed Icon, mit dem ein netz-weites einheitliches Bild hergestellt werden soll oder was anderes, wie das alte abscheuliche weisse XML auf orangenem Grund? Wenn nicht: Bei der Feed Icon Adresse findest Du gute Vorlagen zum Anpassen.

    Wenn ein Bild falsch angezeigt wird, liegt das oft daran, dass man in den width- und height-Attributen falsche Pixelangaben macht. Wie Du es richtig machst, steht in SELFHTML. Es kann natürlich auch sein, dass Deine unbekannte Grafik tatsächlich nur 3 Pixel breit und 10 Pixel hoch ist und woanders (Du hast doch nicht etwa geklaut?); aber ich denke mal, dass wäre Dir aufgefallen.

    wenn ich dort nun draufdrücke bringt mir firefox, anstatt mich zu dem rss zu verlinken folgende meldung: firefox weiß nicht, wie diese adresse geöffnet werden soll, da das protokoll (c) mit keinem programm verknüpft ist.

    Firefox meckert darüber, dass dort offenbar im Link eine URI mit dem Protokoll „(c)“ verknüpft ist. „(c)“ ist nun kein wirklich bekanntes Protokoll im Web. „http“ in „http://example.org/“ wäre ein Protokoll. Allein nach dieser Fehlermeldung klingt das danach als würdest Du in Deinem Link ungefähr so eine absolute Adresse angeben:

    <a href="(c)://irgendwas...">Klick mich</a>

    Das wäre nun sehr ... absurd. Da Du nicht konkret Deinen Quellcode zeigst, weiss ich allerdings nicht mit endgültiger Sicherheit, ob das so bei Dir steht.

    Zum Verlinken von Feeds gelten diesselben Regeln wie bei dem normalen Referenzierenin HTML. Entweder man verlinkt absolut (<a href="http://example.org/feed.rss">) oder relativ zum Verlinkenden Dokument, für http://example.org/index.html als mit <a href="feed.rss">.

    Es ist übrigens gute Praxis, Feeds speziell zu verlinken. Ein Programm hat beim Auswerten eines Links wie da oben keine Möglichkeit zu wissen, ob es sich bei dem Linkziel um einen Feed oder nicht handelt – schließlich kann es den Linktext nicht lesen und verstehen. Deswegen gibt man den MIME Medientyp des Linkziels im Attribut „type“ an. Für RSS Feeds ist das „application/rss+xml“:

    <a href="feed.rss" type="application/rss+xml">

    Für Atom Feeds ist es „application/atom+xml“:

    <a href="feed.atom" type="application/atom+xml">

    Anhand dieser Informationen können das spezielle Programme herauskriegen, dass es sich bei diesen Links um Verweise auf Feeds handelt. Das ist nicht so weltfremd wie es klingt, das hat durchaus handfeste Nutzen. Denk z.B. mal an Google; dessen Spider indiziert auch Feeds.

    Und weitaus banaler: Auch Browser nutzen dass, um automatisch Feeds zu erkennen und dann das jeweilige Feed-Icon in der Adresszeile anzuzeigen, auf das man klicken kann, um den Feed zu abonnieren. Dazu muss der Link noch nicht mal im sichtbaren Teil des HTMLs sein, er versteckt sich mit anderen Metadaten in Kopfteil. Man nutzt dazu das link-Element:

    <link href="feed.atom" type="application/atom+xml" rel="alternate" title="Neuigkeiten aus dem Westen">

    Die Attribute „href“ und „type“ sind hier gleich denen an den normalen langweiligen Links. Das Attribut „rel“ sagt, in welcher Beziehung dieser Verweis  zum gerade angezeigten Dokument steht. „alternate“ meint soviel wie „Alternative Darstellung dieser Inhalte“. Und das ist ja ein Feed. Und der Titel wird normalerweise angezeigt, wenn der Nutzer mehrere Feeds zur Auswahl hat.

    Tim

    1. okay, vielen dank, habs hinbekommen:)