About the Feed Validator
- What is this?
- Why a validator?
- What does it validate?
- Who wrote it?
- Can I run it locally?
- Is there a Web Service with a public API for this service?
- Feedback: Can I tell you something?
What is this?
This is a validator for syndicated feeds. It works with RSS 0.90, 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0. It also validates Atom feeds.
To use it, simply enter the address of your feed and click Validate. If the validator finds any problems in your feed, it will give you messages for each type of problem and highlight where the problem first occurs in your feed. If you're unsure what a message means, click the "help" link next to the message for a fuller explanation.
Why a validator?
Despite its relatively simple nature, RSS is poorly implemented by many tools. This validator is an attempt to codify the specification (literally, to translate it into code) to make it easier to know when you're producing RSS correctly, and to help you fix it when you're not.
The validator also supports the IETF standard Atom format for syndicated feeds. Early adopters who wish to support Atom should use the validator to make sure they generate it properly from day 1.
There are validators for other web technologies, such as HTML, CSS, and accessibility guidelines, and these have all proven quite popular. As personal news syndication is becoming more widespread, we saw a need for a comprehensive but easy-to-use validator for syndicated feeds.
What does it validate?
It validates RSS feeds against the rules defined in the RSS 2.0 specification. It also validates elements of commonly used namespaces:
- blogChannel
- Dublin Core
- itunes
- mod_admin
- mod_syndication
- mod_content (
content:encoded
only)
For Atom feeds, it validates against draft-ietf-atompub-format-11, which describes version 1.0 of the Atom feed format. This draft will become an RFC when a number is assigned by the IETF.
The documentation index lists all the error messages that the validator produces. You can also download the entire test suite that was used to create the validator (see below).
Who wrote it?
The validator was conceived and designed by Mark Pilgrim, who also wrote most of the test cases and designed the web front end. Much of the actual back end coding was done by Sam Ruby.
Can I run it locally?
Yes. The validator is open source, written in Python, and distributed under the same license as Python itself. To run it, you will need Python 2.2 or later, and an XML parser. Most Python distributions include a minimal XML parser which will work just fine. Mac OS X 10.2 users should install PyXML.
To run the validator:
[feedvalidator you@localhost]$ cd src
[src you@localhost]$ python demo.py http://url/to/validate
The source code distribution also includes a complete test suite of almost 1000 feeds that were used to test the validator during development. To run the test suite:
[feedvalidator you@localhost]$ cd src
[src you@localhost]$ python validtest.py -v
Is there a Web Service with a public API for this service?
Yes, there is a SOAP interface, accessible by using the query parameter output="soap12" on top of a regular query. The SOAP 1.2 Web Service API documentation has more details.
Feedback: Can I tell you something?
Of course! Feedback for this service can be sent to the public www-validator mailing-list. Since that list is used as a feedback channel for many tools, please make sure to mention, in the subject and body of your e-mail, that you are sending feedback on the Feed Validation Service.
Note that this service uses software that is not developed at W3C, and bug reports for the feedvalidator software should be sent to the Sourceforge mailing list. If in doubt, send a very clear and precise message to www-validator, and we will tell you if your report should be sent to the original software maintainers.