Giter Site home page Giter Site logo

w3c / feedvalidator Goto Github PK

View Code? Open in Web Editor NEW
77.0 17.0 34.0 6.59 MB

W3C-customized version of the feedvalidator (forked from https://github.com/rubys/feedvalidator/)

License: Other

HTML 37.01% Python 59.65% CSS 2.48% Makefile 0.06% Dockerfile 0.09% JavaScript 0.70%

feedvalidator's Introduction

Build Status

Some tests, and some functionality, will not be enabled unless a full set of 32-bit character encodings are available through Python.

The feedvalidator relies on html5lib for parsing HTML and rdflib for parsing RDF.

Python 3 is required.

To run with Docker:

docker build -t feedvalidator .
docker run -p 8080:80 feedvalidator

feedvalidator's People

Contributors

alexwlchan avatar bor8 avatar borbamartin avatar danielfdickinson avatar deniak avatar dontcallmedom avatar edent avatar eteubert avatar hannob avatar jcgregorio avatar jean-gui avatar josephw avatar karlcow avatar marzal avatar mathiasbynens avatar mnot avatar philor avatar rubys avatar ttepasse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feedvalidator's Issues

Validator inappropriately constrains foreign markup in Atom [DuplicateElement and UndefinedElement]

Describe the bug
According to section 4.1.2 of the Atom syndication format RFC, the atom:entry element allows zero or more "extension elements". The RFC defines "extension elements" in section 6.4 as "foreign markup", which it defines in section 6.1 as "markup from other vocabularies" i.e. not in the Atom namespace). In section 6.4, the RFC says in full:

Atom allows foreign markup anywhere in an Atom document, except where it is explicitly forbidden. Child elements of atom:entry, atom:feed, atom:source, and Person constructs are considered Metadata elements and are described below. Child elements of Person constructs are considered to apply to the construct. The role of other foreign markup is undefined by this specification.

However, when providing an Atom feed containing an atom:entry with more than one dc:language child element, the validator reports the error:

entry contains more than one dc:language [help]

with a link to the DuplicateElement help page.

If instead the Atom feed provided contains more than one dct:language child element, the validator reports the error:

Undefined entry element: dcterms:language (2 occurrences) [help]

with a link to the [UndefinedElement] help page.

To Reproduce

To trigger the DuplicateElement error, paste the following feed into the direct input box on the page :

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <id>http://example.com/data.feed</id>
  <title>Test feed</title>
  <updated>2022-02-11T15:21:00Z</updated>
  <link rel="self" href="http://example.com/data.feed"/>
  <author><name>example.com</name></author>
  <entry>
  <id>http://example.com/item/1</id>
    <title type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <span xml:lang="en">Test title</span> / 
        <span xml:lang="cy">Teitl enghreifftiol</span>
      </div>
    </title>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <span xml:lang="en">Summary</span> / 
        <span xml:lang="cy">Crynodeb</span>
      </div>
    </summary>
    <link rel="alternate" href="http://example.com/item/1.json" type="application/json"/>
    <link rel="alternate" href="http://example.com/item/1.xml" type="application/xml"/>
    <updated>2022-02-11T15:22:00Z</updated>
    <dc:language>en</dc:language>
    <dc:language>cy</dc:language>
  </entry>
</feed>

To trigger the UndefinedElement.html error, delete both instances of dc:language in the above XML and substitute the below XML:

    <dct:language>en</dct:language>
    <dct:language>cy</dct:language>

Expected behavior
The feed validates if an atom:entry contains two or more dc:language or dct:language elements.

hi

I'm fairly new to this and I'm just wondering if you can email me more information on how to fix this RSS I was trying to validate or where I can learn allot quicker and well communicated resource where I can write fixes on the code as I go?
My email [email protected]
Thank you

<title>Sin Estres Orrantia activity</title> https://gitlab.com/Sin_Estres_0 2021-11-18T23:45:50Z tag:gitlab.com,2021-11-18:1572994414 <title>Sin Estres Orrantia pushed new project branch main at Sin Estres Orrantia / S...</title> 2021-11-18T23:45:50Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (660743e6) at 18 Nov 23:45

Initial commit

tag:gitlab.com,2021-11-18:1572994379 <title>Sin Estres Orrantia created project Sin Estres Orrantia / Strezless Musick Pu...</title> 2021-11-18T23:45:48Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-10-24:1527038553 <title>Sin Estres Orrantia pushed new project tag Sin-Estres-live-streams at Sin Est...</title> 2021-10-24T22:52:48Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (05ed496f) at 24 Oct 22:52

Custom Merge commit

tag:gitlab.com,2021-10-24:1527036578 <title>Sin Estres Orrantia created project Sin Estres Orrantia / GitLab</title> 2021-10-24T22:46:07Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-10-08:1501211656 <title>Sin Estres Orrantia created project Sin Estres Orrantia / strezless-musick-ta...</title> 2021-10-08T03:47:02Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-08-03:1394481828 <title>Sin Estres Orrantia pushed to project branch main at Sin Estres Orrantia / St...</title> 2021-08-03T02:00:42Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (02152ed7) at 03 Aug 02:00

Edited Note

tag:gitlab.com,2021-08-03:1394480691 <title>Sin Estres Orrantia pushed to project branch main at Sin Estres Orrantia / St...</title> 2021-08-03T01:59:17Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (4adff21b) at 03 Aug 01:59

Added Note

tag:gitlab.com,2021-08-03:1394471671 <title>Sin Estres Orrantia pushed to project branch main at Sin Estres Orrantia / St...</title> 2021-08-03T01:48:09Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (fee6d562) at 03 Aug 01:48

Added Note

tag:gitlab.com,2021-08-01:1391955192 <title>Sin Estres Orrantia pushed to project branch main at Sin Estres Orrantia / St...</title> 2021-08-01T08:31:31Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (beceaa0c) at 01 Aug 08:31

Custom Merge commit

... and 5 more commits

tag:gitlab.com,2021-07-23:1378880886 <title>Sin Estres Orrantia pushed new project branch main at Sin Estres Orrantia / S...</title> 2021-07-23T13:59:02Z Sin_Estres_0 Sin Estres Orrantia

Sin Estres Orrantia (09f98eaa) at 23 Jul 13:59

Initial commit

tag:gitlab.com,2021-07-23:1378880861 <title>Sin Estres Orrantia created project Sin Estres Orrantia / Strezless Musick Pr...</title> 2021-07-23T13:59:02Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-04-08:1200428198 <title>Sin Estres Orrantia created project Sin Estres Orrantia / android-rebuilds</title> 2021-04-08T10:40:50Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-04-08:1200425001 <title>Sin Estres Orrantia commented on commit df629dcf at F-Droid / Data</title> 2021-04-08T10:39:14Z Sin_Estres_0 Sin Estres Orrantia

image_304e0ea3-05da-4c3c-9757-599cbb35f21120210406_165653

tag:gitlab.com,2021-04-08:1200423785 <title>Sin Estres Orrantia commented on commit df629dcf at F-Droid / Data</title> 2021-04-08T10:38:39Z Sin_Estres_0 Sin Estres Orrantia tag:gitlab.com,2021-04-08:1200418774 <title>Sin Estres Orrantia commented on commit df629dcf at F-Droid / Data</title> 2021-04-08T10:36:11Z Sin_Estres_0 Sin Estres Orrantia

Costar RSS Feed down?

Attempted to add the RSS feed for CoStar Commercial Real Estate News on the LearnWorlds platform.

Attempted to validate the Costar RSS feed and received his error:

CoStar Commercial Real Estate News
There was an error while running the web page.
This error may have be caused because of a database error, or because our website is experiencing temporary problems.

Using the wc3/feedvalidator.

New iTunes fields unknown

The new fields <itunes:type>, <itunes:title>, itunes:episode, itunes:season are missing in the validator and yield errors.
image

<channel>
  <itunes:type>serial</itunes:type> <!-- or "episodic" -->
  ...

  <item>
    <title>S01 Episode 01: The First Episode</title>
    <itunes:title>The First Episode</itunes:title>
    <itunes:episode>1</itunes:episode>
    <itunes:season>1</itunes:season>
    ...
  </item>

</channel>

Example Feed: https://help.apple.com/itc/podcasts_connect/#/itcbaf351599

Related resources:

ContainsRelRef should not be triggered by anchor links

The docs state that relative URLs cannot be fetched by some feed readers that might look for filesystem paths rather than web resources.

Anchor URLs should be acceptable since they should just refer to locations in the current document. Example:

Jump to the <a href="#tldr">TLDR</a> at the bottom.

(I wanted to start a discussion about whether this is a good idea, but all the URLs to the mailing lists in the docs are dead).

Broken links on resources page, and missing links to specs

Describe the bug

The doc you get through when you follow up about a negative result has several links rotted, and is missing links to the RSS and Atom specs themselves (unless I missed them)

To Reproduce
URL that triggered the bug:
https://validator.w3.org/checklink?uri=https%3A%2F%2Fvalidator.w3.org%2Ffeed%2Fdocs%2Fhowto%2Fresources.html&hide_type=all&depth=&check=Check

Expected behavior

  • Ideally the places where these things are discussed is found and linked to

  • But also how about linking to the 3 specs themselves

Uh

  • docker build -t feedvalidator .
    docker run -p 8080:80 feedvalidator

Trouble verifying feed

1

The main issue is that my RSS feed URL won't connect with Mailchimp when I'm trying to set up emails that go out when I post a blog post.

2

My host (Hostgator) says that everything is fine on their end with the SSL. What else could be the problem?

Make SSL Error messages more helpful

Trying to validate a feed I'm getting the following error:

Server returned [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)

What is the actual reason for this error?

For the problematic site I'm using a wildcard SSL certificate issued by Sectigo Limited. Checking my certificate with SSL Server Test I see "Incomplete" warning in "Chain issues". In "Certification Paths" I see that there is "Extra download" warning for the intermediate certificate. Is this what makes the validator return such error? And if so, could this error be made more meaningful?

Error when fetching content over HTTPs

When checking the feed "https://reidrealestate.com/feed/xml" I get this error message:
Error when fetching content over HTTPs: "HTTPs server has incorrect certificate configuration"

I inspected the source using Chrome Inspector, all appears to be in order with the certificate. Is it possible the opening tag is misconfigured instead of being an https issue?
Screen Shot 2021-04-06 at 8 23 15 AM

Development

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
URL that triggered the bug:

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

Cannot

Hi, I can't seem to validate any rss feeds from my website
https://www.londonspine.com
Hosting company is siteground who say that there is no problem with server. All permissions have been reset and cache cleared.
Can you help ?

Debugging Docker-based installs

image

Possible causes:

The address may be incorrect. Make sure the address is spelled correctly. Try loading the feed directly in your browser to make sure a feed exists at that address.
The feed may be temporarily unavailable. The server may be down, or too slow. Try again later.
The validator may be busted. If the feed exists, the server is fine, and the problem is reproducible, please raise an issue.

I also tried with http://waitbutwhy.com/feed and it is the same problem.

I did exactly what was told in the readme for running on docker.

I'm using Docker for Windows.
Here are my configs:

image

But when I try on https://validator.w3.org/feed/ , it works for both.
Just locally by using docker, it doesn't work.

Feed doesn't validate but is visible?

https://cpointcc.com/rss/cpcc-feeds

Can someone explain this? I can see the feed data, but it is not validating? SSL Issue? Is this a cloudflare incompatibility?

('The read operation timed out',) (SSLError; misconfigured server?) [help]

Sorry
An error occurred while trying to validate this feed.

Possible causes:

The address may be incorrect. Make sure the address is spelled correctly. Try loading the feed directly in your browser to make sure a feed exists at that address.
The feed may be temporarily unavailable. The server may be down, or too slow. Try again later.
The validator may be busted. If the feed exists, the server is fine, and the problem is reproducible, please raise an issue.

Error

This week I started getting this error. I have used the service for years and not made any changes.

Sorry

This feed does not validate.

line 24, column 52: RDF parsing error: Repeat node-elements inside property elements: http://purl.org/rss/1.0/title [help]

      <title>RunnersWeb.com Syndicated News and Features</title> 
                                                        ^

line 25, column 34: RDF parsing error: Repeat node-elements inside property elements: http://purl.org/rss/1.0/link [help]

      <link>https://www.runnersweb.com</link> 
                                      ^

Source: https://www.runnersweb.com/running/RW_RSSNews.xml

Feed validator issue (error:404 not found)

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
URL that triggered the bug:

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

Feed validator fails on HTML comments in <content:encoded>

I noticed the feed validator code fails on RSS feeds with (correctly encoded) HTML comments in the content:encoded part. I believe this is a bug in the validator, as I don't see a reason why there shouldn't be HTML comments within that part. The web frontend gives no helpful indication to the user what might be wrong.

A minimal example would look like this:

<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>example</title>
<link>https://example.org/</link>
<description>example</description>
<item>
<title>example</title>
<content:encoded>
&lt;!-- test --&gt;
</content:encoded>
</item>
</channel>
</rss>

This causes an Attribute error in the python code (will attach error message).
feedvalidator-local-error.txt

This will make the validator fail on most feeds of the serendipity blog software, which commonly uses HTML comments, see also s9y/Serendipity#713

Trying to Validate an RSS Feed for my Podcast

The Bug

The bug in question, occurred when I tried to validate a URL for my Podcast from Libsyn.

When I entered the feed URL and pressed enter, the page flashed up showing that I hadn't edited the 'Explicit Lyrics' section, and that it should read 'yes', 'no' or 'clean'.

The issue is that this is confirmed done on Libsyn, which leaves me somewhat stumped :F

Am I missing something?

All the best,

Monty

The URL

https://feeds.libsyn.com/350945/rss

What I expected to happen

Thank you for Validating your podacast with us! Celebrations and Ewoks a-plenty

Adding the <atom:link> element causes "An error occurred while trying to validate this feed."

Describe the bug
Adding the atom:link element causes "An error occurred while trying to validate this feed."

To Reproduce
The test feed with the atom:link is below. If you remove the "atom:link", then the validator works but it then suggests "Missing atom:link with rel="self"".

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xml:base="http://www.example.com/">
  <channel>
    <title>News</title>
    <link>http://dallas.example.com/</link>
    <description>The latest news</description>
    <language>en</language>
    <atom:link href="http://dallas.example.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
	    <title>Article title</title>
	    <link>http://www.example.com/12345</link>
	    <description>summay here</description>
	    <pubDate>Tue, 15 Mar 2022 12:00:00 +0000</pubDate>
	    <dc:creator>Best author</dc:creator>
	    <guid isPermaLink="true">http://www.example.com/12345</guid>
    </item>
  </channel>
</rss>

Expected behavior
The validator returns "This is a valid RSS feed." for the above test feed.

Add support for 1.5.0 additions to Media RSS

The feed in question, http://social.feeds.brightcove.com/v1/accounts/6234086667001/mrss/syndications/f8388980-a935-4ed7-9cec-b2cbbac5f3c4/feed
and https://social.feeds.brightcove.com/v1/accounts/4342645250001/mrss/syndications/40e05d1e-79f8-4752-9808-ba01e376a3cf/feed

When I run it through the Validator, it returns with this error 'Undefined item element:' for all elements that were added in MRSS version 1.5, such as, media:subTitle
https://www.rssboard.org/media-rss
Please help to review, thanks

IncompleteRead(0 bytes read), but feed exists.

Hello!

I'm receiving this error when trying to validate this feed.

IncompleteRead(0 bytes read) (IncompleteRead; misconfigured server?)

The feed is visible via my web browser, and via curl, and several other web API apps I've used. The logs on my server are showing the whole access like it should, but the validator is dying out before it receives any bytes it seems?

Any ideas?

Thanks!

P.S.: The script does take a few hundred ms to run, as it is actually pulling a feed from this url internally, and attempting to fix the RSS XML before re-rendering it and passing it on. I can't tell if that has anything to do with anything! 🤷🏻‍♀️

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.