Tim Tepaße: RSS, RDF und „Div-Suppe“

Beitrag lesen

Hallo Gunnar,

dies Posting mag böser klingen, als es gemeint ist, dies nur als Vorwarnung.

Nicht nur würden, sie tun es auch. Nur hat RSS eben seine eigene Art „Liste“.
_RDF_ hat. [RDF-PRIMER §4.1] Und das rdf:Seq-Element findet Verwendung in RSS 1.0.

Was soll an dem channel-Element in RSS 0.9x und 2.0 keine Liste sein?

In RSS 2.0 ist nichts mit Ordnung. RSS 2.0 ist das Pendant zu div-Suppe.

Mit Verlaub: Der Vergleich ist Schwachsinn.

Die Div-Suppe zeichnet sich dadurch aus, dass Leute anstatt strukturell sinnigere, im HTML Standard enthaltene, Elemente zu nutzen, eigene Elemente mittels des class-Attribut definieren. Du weist selber darauf hin. Die Elemente aus RSS 2.0, die Du dort fälschlicherweise als Div-Suppe bezeichnest, sind aber in der RSS 2.0 Spezifikation spezifiziert. Sie haben eine strukturelle Bedeutung. Sie sind keine Div-Suppe.

Wenn man Deinen Vergleich aus dem gerade verlinkten Posting umkehren würde: Du müsstest konsequenterweise dem HTML-Standard vorwerfen, dass eine Ordered List kein rdf:Seq benutzt. Du müsstest anprangern, dass eine Unordered List keine rdf:Bag benutzt. Du müsstest dem select-Element vorwerfen, dass es kein rdf:Alt benutzt. Du müsstest dem button-Element vorwerfen, dass das Attribut rdf:parseType="Literal" nicht vorgeschrieben ist. Etcetera pepe.

Unwahrscheinlicherweise funktioniert das auf HTML aufbauende World Wide Web trotzdem, ohne die maschinenlesbare strukturierende und eventuell auch semantische Klarheit von RDF nötig zu haben. Weil die Autoren von UAs Spezifikationen lesen können und deren in normaler Sprache niedergeschriebene Intentionen in ihrer Software umsetzen. Und nebenbei hat man auch noch den Vorteil, dass Otto Normalverbraucher die Spezifikation verstehen und anwenden kann. Dass Otto Normalverbraucher selber HTML in seinem Texteditor tippen kann, ohne sich mit komplexeren durch URIs spezifizierten Subject, Prädikat Objekt Tripeln auseinandersetzen zu müssen. Das ist auch die Intention hinter RSS 0.9x/2.0 und dessen Bruder Atom 1.0. Eine aufs wesentliche reduzierte, benutzbare Spezifikation für den Einsatzzweck „Syndication“ zu sein, die dann von einem UA implementiert wird, der für diesen Einsatzzweck gedacht ist.

Guck Dich mal bitte um im RSS-Land. Siehst Du irgendeinen UA, der einen generellen RDF-Parser benutzt? Siehst Du irgendeinen UA, der irgendeinen Vorteil aus der RDFifizierung von RSS 0.9 in der Form von RSS 1.0 zieht? Außer im RDF Fanboy Ecke sehe ich keinen. Stattdessen nutzen wohl 99 % aller Feedreader Feld-, Wald- und Wiesen-XML-Parser um die spezifizierten Elemente des Kernvokabulars von RSS 0.9x, 2.0 und Atom 0.3, 1.0 in eigene Datenstrukturen zu überführen. Für RSS 1.0 müssen sie dann noch die Elemente  aus populäreren Namensräumen („Modulen“) erkennen, weil das Kernvokabular doch recht beschränkt ist, gute Parser kommen auch mit anderen als den gebräuchlichen Namensraumpräfixen zurecht. RDF/XML und die mit RDF ausgedrückten Beziehungen sind für den Feedparser nur eine sehr exotische Variante von XML-Auszeichnung der von ihm gewünschten Daten. Den Parser, der einen Vorteil aus RDF-Auszeichnung von XML-Strukturen zieht muß man mir noch zeigen.

RSS 0.9x, 2.0 kann man durchaus vorwerfen, die Inhalte seiner Elemente unterspezifiziert zu haben, Atom versucht (und schafft) das Manko ja zu beheben. Der Spezifikation vorzuwerfen, dass seine Elemente keine strukturelle Bedeutung zu haben, div-Suppe zu sein, ist aus RDF-Sicht halbwegs verständlich, schließlich ist aus RDF-Sicht jedes XML-Format Div-Suppe.

Aus der Sicht der tatsächlichen Anwendung der Spezifikation in der Praxis ist es falsch und ignorant. Und für Unkundige kann es irreführend sein.

RSS 1.0 hat Vorteile, die RSS 2.0 und Atom 1.0 nicht haben. RSS 2.0 hat Vorteile, die RSS 1.0 und Atom 1.0 nicht haben. Atom 1.0 hat Vorteile, die RSS 1.0 und RSS 2.0 nicht haben. Man sollte diese gegeneinander abwägen und sich dann entscheiden. Automatisch anzunehmen, dass einer der Standards „besser“ sei, nur weil er das Buzzword RDF enthält, ist recht ignorant; ich bin differenzierte Meinungen von Dir gewöhnt, Gunnar.

Ich weiß natürlich, dass Du RDF magst, weil es Dir die Zauberei „maschinenlesbare Semantik“ verspricht. Ich mag die Idee auch, auch wenn ich mit der tatsächlichen Umsetzung sehr skeptisch bin. Aber bitte nimm auch mal einen anderen Sichtwinkel ein, Stichwörter dafür sind zum Beispiel Praxistauglichkeit, Robustheit, Komplexität der Spezifikation, Erlernbarkeit der Syntax, usw.

Tim