W3C validator says 'feed does not validate' 'url must be a full URL'... whats wrong with it?
Asked Answered
L

2

12

Validating my feed, it has an enclosure with a URL of

https://archive.org/download/NigelFarageAPersonalMessageToNorthernIrelandVoters./Nigel%20Farage,%20a%20personal%20message%20to%20Northern%20Ireland%20voters..mp3

I know it is a bit convoluted... but what is wrong with it? The stop in the directory name? the double dot in the file name? the comma? all of em?

I have looked at the RFC on URL's but cant make it out(!).

This feed does not validate.
line 441, column 2: url must be a full URL: https://archive.org/download/NigelFarageAPersonalMessageToNorthernIrelandVoters./Nigel%20Farage,%20a%20personal%20message%20to%20Northern%20Ireland%20voters..mp3 (4 occurrences) [help]
  <enclosure type="audio/mpeg" url="https://archive.org/download/NigelFarage ...
  ^

** edit **

A useful (even if incorrect) answer was added (and removed...) showing the result from the w3c URL validator - https://validator.w3.org/checklink

This Link Checker looks for issues in links, anchors and referenced objects in a Web page, CSS style sheet, or recursively on a whole Web site. For best results, it is recommended to first ensure that the documents checked use Valid (X)HTML Markup and CSS. The Link Checker is part of the W3C's validators and Quality Web tools.

If you find this question, you may find the link checker a useful resource!

Lewert answered 1/5, 2015 at 10:51 Comment(0)
W
22

The problem seems to be that it’s a HTTPS URL instead of a HTTP URL.

The linked error documentation, foo attribute of bar must be a full URL, says:

If this is a link to a web page, you must include the "http://" at the beginning and immediately follow it with a valid domain name.

The RSS 2.0 spec says about <enclosure>:

The url must be an http url.

If you change https://archive.org/download/… to http://archive.org/download/…, it validates.

Wrennie answered 2/5, 2015 at 9:46 Comment(4)
But that's stupid. Imho the validator is bugged and simply was not created with https URLs in mind. The specification says "The url must be an http url." - however I am sure that they simply meant to say "The url must be an absolute URI according to RFC 3986, section 4.3."… Unless they expect RSS clients not to be able to communicate via SSL?Aubine
I agree with you @Aubine - if anyone really thinks it bans https the spec needs updating!!Lewert
Validator source is located on GitHub as mentioned here. Here's an issue to pull against.Chere
In my case the w3.org-provided code did not work. Just substitute the successful validation URL, e.g. https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fpersagen.com%2Frss%2Fpg.xml in the following (gives requested URL was not found error), provided by w3.org: <a href="http://validator.w3.org/check.cgi?url=https%3A//persagen.com/rss/pg.xml"><img src="valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a>. The issue appears to be the coding of the forward slashes, //.Southwest
C
1

And if you don't have httpS then your SSL says your page isn't secure. #feedvalidator step up. There are a ton of feedback/complaints about this on the support forum here https://groups.google.com/forum/#!forum/feedvalidator-users

More specifically here: https://github.com/rubys/feedvalidator/issues/16

Cappuccino answered 10/1, 2019 at 14:52 Comment(1)
The spec really needs updating to make this clear - but I think the big companies dislike RSS, because it is so open and flexible so it would be down to the little guys to organise... I have no idea how one would go about this(!).Lewert

© 2022 - 2024 — McMap. All rights reserved.