RFC-822 datumsangabe in einen RSS file
apaotsdeveloper
- xml
hallo sehr geehrten computerhelfenden menschen im november
ich bastle gerade an einen RSS file, und in jenen gibt es ein element namens <pubdate>
z.b.: <lastBuildDate>Mon, 30 Sep 2002 11:00:00 GMT</lastBuildDate>
bei meinen RSS file steht drinnen
<lastBuildDate>Tue, 25 Nov 2003 11:07:44 CET</lastBuildDate>
das komisch ist, dass der validator http://feedvalidator.org/ das erste beispiel als richtig erkennt, das zweite allerdings als falsch
z.b.:http://feedvalidator.org/check?url=http://194.232.105.42/rss/channel/politik.xml (hoffe der link funkt gerade, aber ich arbeite gerade dran)
ich glaube, dass das ein fehler im validator ist und meine datumsangabe nach der RFC-822 http://asg.web.cmu.edu/rfc/rfc822.html#sec-5 spezifikation richtig ist.
aber andererseite hab ich mal gelernt, dass computer alles richtig machen und nur der mensch fehler macht. deswegen wäre es voll nett, wenn mir jemand bestätigt, dass mein datum <lastBuildDate>Tue, 25 Nov 2003 11:07:44 CET</lastBuildDate> ein nach RFC-822 richtiges datum ist und der vaildator fehlerhaft.
danke und so apaotsdeveloper
Hallo,
bei meinen RSS file steht drinnen
<lastBuildDate>Tue, 25 Nov 2003 11:07:44 CET</lastBuildDate>
das komisch ist, dass der validator http://feedvalidator.org/
das erste beispiel als richtig erkennt, das zweite allerdings als falschz.b.:http://feedvalidator.org/check?url=http://194.232.105.42/rss/channel/politik.xml (hoffe der link funkt gerade, aber ich arbeite gerade dran)
Im RSS-Dokument ist keine DTD referenziert, sodass dieses lediglich als well-formed durchgehen kann (muss).
Selbst wenn die RSS-2.0-DTD angegeben waere, koennte der Validator lastBuildDate nur hinsichtlich analysierter Zeichendaten pruefen und beide Datumsvarianten waeren korrekt:
<!ELEMENT lastBuildDate (#PCDATA)>
MfG, Thomas
Hallo,
Im RSS-Dokument ist keine DTD referenziert, sodass dieses lediglich als
well-formed durchgehen kann (muss).
Es gibt meines Wissens auch keine DTD für RSS 2.0 bzw. die RSS 0.9x
Versionen. Dave Winer scheint recht gerne etwas leichtgewichtige
Spezifikationen zu schreiben, manche sagen: unterspezifiziert.
http://blogs.law.harvard.edu/tech/rss
Selbst wenn die RSS-2.0-DTD angegeben waere, koennte der Validator
lastBuildDate nur hinsichtlich analysierter Zeichendaten pruefen und beide
Datumsvarianten waeren korrekt:
Weswegen der von Sam Ruby und Mark Pilgrim geschriebene Validator auch
den Wert auf RFC822-Kombabilität überprüft. Hier der dazugehörige
Python-Code:
class rfc822(text):
rfc822_re = re.compile("(((Mon)|(Tue)|(Wed)|(Thu)|(Fri)|(Sat)|(Sun)), *)?" +
"\d\d? +((Jan)|(Feb)|(Mar)|(Apr)|(May)|(Jun)|(Jul)|(Aug)|(Sep)|(Oct)|" +
"(Nov)|(Dec)) +\d\d(\d\d)? +\d\d:\d\d(:\d\d)? +(([+-]?\d\d\d\d)|" +
"(UT)|(GMT)|(EST)|(EDT)|(CST)|(CDT)|(MST)|(MDT)|(PST)|(PDT)|\w)$")
def validate(self):
if not self.rfc822_re.match(self.value):
self.log(InvalidRFC2822Date({"parent":self.parent.name, "element":self.name, "value":self.value}))
else:
self.log(ValidRFC2822Date({"parent":self.parent.name, "element":self.name, "value":self.value}))
Tim
Hallo,
Es gibt meines Wissens auch keine DTD für RSS 2.0 bzw. die RSS 0.9x
Versionen.
Doch, diese gibt es durchaus -- fuer 0.91 gibt es z. B. hier eine: http://my.netscape.com/publish/formats/rss-0.91.dtd.
Bei meinem Posting hatte ich mich auf diese Ressource zu 2.0 bezogen: http://www.silmaril.ie/software/rss2.dtd.
MfG, Thomas
Hallo Thomas,
Doch, diese gibt es durchaus -- fuer 0.91 gibt es z. B. hier eine:
http://my.netscape.com/publish/formats/rss-0.91.dtd.
OK, von Netscape hätte ich so etwas erwarten könne. ;-)
Bei meinem Posting hatte ich mich auf diese Ressource zu 2.0 bezogen:
http://www.silmaril.ie/software/rss2.dtd.
Aber warum? Zum einen ist dies keine offizielle DTD von Userland bzw. jetzt
von Harvard. Zum anderen kann eine DTD eine Spezifikation nie vollständig
abdecken, z.B. die vielen PCDATA-Formate. Der Ansatz des Feedvalidators,
RSS nicht nach einer nach der Spezifikation nachgebastelten DTD zu validieren,
sondern die Spezifikation in überprüfenden Programmcode umzusetzen, erscheint
mir da sinniger.
Tim
Hallo,
<lastBuildDate>Tue, 25 Nov 2003 11:07:44 CET</lastBuildDate>
ich glaube, dass das ein fehler im validator ist und meine datumsangabe nach der RFC-822 http://asg.web.cmu.edu/rfc/rfc822.html#sec-5 spezifikation richtig ist.
Es gibt nach diesem RFC keine Zeitzone CET.
Du müsstest eigentlich GMT +|- HHMM benützen.
aber andererseite hab ich mal gelernt, dass computer alles richtig machen und nur der mensch fehler macht.
Und von wem sind die Computer und die Software gemacht/programmiert?
Grüße
Thomas
Es gibt nach diesem RFC keine Zeitzone CET.
Du müsstest eigentlich GMT +|- HHMM benützen.
danke, das wars!
<pubDate>Tue, 25 Nov 2003 12:21:00 +0100</pubDate>
außerdem hab ich in php ne funktion gefunden, welch einen gleich das richtige RFC822 daatum zurückgibt.
date("r", $timestamp);
aber andererseite hab ich mal gelernt, dass computer alles richtig machen und nur der mensch fehler macht.
Und von wem sind die Computer und die Software gemacht/programmiert?
von unterirdischen spinnen mit tausend armen und n+1 köpfen welche in tibetanischen mönchshölen hausen und von einer geheimen sekte jüdischchristlicher mormonen bewacht werden. (jede zweite woche gibts ein menschenopfer, jeden donnerstag cricket)... schon arg, irgendwie... aber du wolltest es ja wissen.
thanx
mfg
apaotsdeveloper
Hi,
Und von wem sind die Computer und die Software gemacht/programmiert?
von unterirdischen spinnen mit tausend armen und n+1 köpfen welche in tibetanischen mönchshölen hausen und von einer geheimen sekte jüdischchristlicher mormonen bewacht werden. (jede zweite woche gibts ein menschenopfer, jeden donnerstag cricket)... schon arg, irgendwie... aber du wolltest es ja wissen.
Und ich dachte _ich_ würde zu viel Zeit vor einem Bildschirm (PC bzw. TV) verbringen! ;-)
Hat jemand Dschinni gesehen?
Grüße
Aladdin ... ehm.... Thomas