RSS feed valideert niet

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Locked
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

RSS feed valideert niet

Post by Gregor »

Na een periode dat mijn site offline is geweest, deze weer online gezet. Omdat ik de rssfeed gebruik voor het posten op SM, ontdekte ik dat de feed niet valideert:
https://validator.w3.org/feed/check.cgi ... sfeed.html

De feed wordt gemaakt via de content pagina (geen html) met daarin:

Code: Select all

{CGBlog summarytemplate="CGBlogFeed" number="1000"}
In CGBLog staat in het summary template:

Code: Select all

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://www.uisge-beatha.eu/rssfeed" rel="self" type="application/rss+xml" />
<title>RSS feeds uit het logboek en met nieuwtjes van Uisge Beatha</title>
<link>http://www.uisge-beatha.eu/rssfeed</link>
<description>RSS feeds uit het logboek en met nieuwtjes van Uisge Beatha</description>
<copyright>(c) Gregor J. de Graaf</copyright>
<generator>CMS Made Simple</generator>
{foreach from=$items item='entry'}
    <item>
        <title>{$entry->title|escape|truncate:65}</title>
        <pubDate>{$entry->postdate|rfc_date}</pubDate>
        <link>{$entry->detail_url}</link>
        {capture assign=foo}{if $entry->summary}{eval var=$entry->summary|strip_tags}{else if $entry->content}{eval var=$entry->content|strip_tags}{/if}{/capture}
        <description>{if $entry->fieldsbyname.facebook_thumbnail->value != ''}<img width="150" height="200" style="width:150px;height:200px;padding-bottom:10px;padding-right:10px;float:left;" src={$entry->file_location}/{$entry->fieldsbyname.facebook_thumbnail->value}>{else}<img width="150" height="200" style="width:150px;height:200px;padding-bottom:10px;padding-right:10px;float:left;" src="{root_url}&#47;uploads&#47;images&#47;uisge-beatha-front.jpg">{/if}{$foo|strip_tags|strip|truncate:150}
        </description>
        <guid>{$entry->detail_url}</guid>
    </item>
{/foreach}
</channel>
</rss>
Na een poosje puzzelen ben ik er niet uit wat nou de reden is waarom de validator nu over "speciale karakters" valt. Iemand een idee hoe ik dit kan oplossen?

Verder vindt de Validator een "self"-verwijzing niet leuk.
line 3, column 93: Self reference doesn't match document location [help]
Kan ik deze probleemloos weghalen?

Dank alvast voor het meedenken!
tristan
Dev Team Member
Dev Team Member
Posts: 375
Joined: Tue May 02, 2006 10:58 am

Re: RSS feed valideert niet

Post by tristan »

Wellicht door de encoding aan te geven, zie ook:

https://www.w3.org/TR/REC-xml/#NT-EncodingDecl

Die andere foutmelding over Self reference geeft hij nu niet meer trouwens?

Leuke site trouwens, veel uitgebreider dan de site voor ons bootje: https://8304.nl!
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: RSS feed valideert niet

Post by Rolf »

Probeer eens {$foo|strip_tags|escape|strip|truncate:150}

PS. Of iets als: {$foo|strip_tags|cms_escape:htmlall|strip|truncate:150}
In ieder geval breekt de feed op de quotes die in de tekst staan.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: RSS feed valideert niet

Post by Gregor »

Dank je voor het compliment over de site :) Uitgebreider... Veel schrijven ;)

Het toevoegen van encoding, verschillende plaatsen geprobeerd, maar dat 'slikt' de validator niet.

De suggestie van Rolf geeft de volgende melding:
This feed does not validate.
line 2364, column 76: IRI found where URL expected: http://www.uisge-beatha.eu/logboek/170/ ... zilië.html (5 occurrences) [help]
<link>http://www.uisge-beatha.eu/logboek/170/ ... zilië.html ...
^
line 2367, column 76: IRI found where URL expected: http://www.uisge-beatha.eu/logboek/170/ ... zilië.html (5 occurrences) [help]
<guid>http://www.uisge-beatha.eu/logboek/170/ ... zilië.html ...
^
In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
Feeds should not be served with the "text/html" media type [help]
https://validator.w3.org/feed/check.cgi ... html#l2364
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: RSS feed valideert niet

Post by Rolf »

Gebruik je in de pagina een content_type UDT zoals beschreven in http://www.cmscanbesimple.org/blog/crea ... t-a-module ?
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: RSS feed valideert niet

Post by Gregor »

Ja, die is er inderdaad tijdens de upgrade ingezet.

Ik zie ook dat de validator over zijn nek gaat omdat er in heel veel artikelen "vreemde" ascii-tekens staan, bijv.  
Ben aan het kijken of ik deze karakters kan vinden en in een keer uit de db kan halen :/
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: RSS feed valideert niet

Post by Gregor »

De validator blijft moeite houden met speciale tekens:
Sorry

This feed does not validate.
line 2365, column 76: IRI found where URL expected: http://www.uisge-beatha.eu/logboek/170/ ... zilië.html (2 occurrences) [help]
<link>http://www.uisge-beatha.eu/logboek/170/ ... zilië.html ...
^
line 2368, column 76: IRI found where URL expected: http://www.uisge-beatha.eu/logboek/170/ ... zilië.html (2 occurrences) [help]
<guid>http://www.uisge-beatha.eu/logboek/170/ ... zilië.html ...
^
line 3094, column 252: XML parsing error: <unknown>:3094:252: undefined entity [help]
... eatha-front.jpg"> Vroeg vanuit Brunsb&uuml;ttel vertrokken om uiteind ...
Dus de ü in het woord "Brunsbüttel" wordt vertaald, maar niet geaccepteerd.

Heb de suggesties van Rolf's site overgenomen en daardoor is er een nieuwe link gemaakt: http://www.uisge-beatha.eu/rssfeed.rss
User avatar
Gregor
Power Poster
Power Poster
Posts: 1874
Joined: Thu Mar 23, 2006 9:25 am

Re: RSS feed valideert niet

Post by Gregor »

Gelukt :) Weet niet of het helemaal volgens de regelen der kunst is, W3 valideert 'm in ieder geval. Hieronder mijn oplossing:

Code: Select all

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="{root_url}/rssfeed.rss" rel="self" type="application/rss+xml" />
<title>RSS feeds uit het logboek en met nieuwtjes van Uisge Beatha</title>
<link>http://www.uisge-beatha.eu/rssfeed</link>
<description>RSS feeds uit het logboek en met nieuwtjes van Uisge Beatha</description>
<copyright>(c) Gregor J. de Graaf</copyright>
<generator>CMS Made Simple</generator>
{foreach from=$items item='entry'}
    <item>
        <title>{$entry->title|escape|truncate:65}</title>
        <pubDate>{$entry->postdate|rfc_date}</pubDate>
        <link><![CDATA[{$entry->detail_url|cms_escape:htmlall}]]></link>
        {capture assign=foo}{if $entry->summary}{eval var=$entry->summary|strip_tags}{else if $entry->content}{eval var=$entry->content|strip_tags}{/if}{/capture}
        <description>{if $entry->fieldsbyname.facebook_thumbnail->value != ''}<img width="150" height="200" style="width:150px;height:200px;padding-bottom:10px;padding-right:10px;float:left;" src={$entry->file_location}/{$entry->fieldsbyname.facebook_thumbnail->value}>{else}<img width="150" height="200" style="width:150px;height:200px;padding-bottom:10px;padding-right:10px;float:left;" src="{root_url}&#47;uploads&#47;images&#47;uisge-beatha-front.jpg">{/if}{$foo|strip_tags|cms_escape:html|strip|truncate:150}
{* url was htmlall *}
        </description>
        <guid isPermaLink="false">{$entry->detail_url|cms_escape:url}</guid>
    </item>
{/foreach}
</channel>
</rss>
Locked

Return to “Dutch - Nederlands”