Feed Validator Web Service API
The W3C Feed Validator exposes its Web service as a SOAP 1.2 interface, which you can use in your own applications.
Table of Contents
- When processing batch of documents, You MUST wait at least 1 second between each request.
- Authentification for W3C Markup Validation service is NOT REQUIRED.
Validation Request Format
Below is a table of the parameter you can use to send a query to the W3C Feed Validator.
If you want to use W3c's public validation server, use the parameters below
in conjunction with the following base URI:
- replace with the address of your own server if you want to call a private instance of the validator
- The Web Service can not be used on the feedvalidator.org service
Note: If you wish to call the validator programmatically for a batch of documents,
please make sure that your script will
sleep for at least 1 second
between requests. The Feed Validation service is a free, public service for all, your respect
is appreciated. thanks.
|url||The URL of the document to validate||None, but either this parameter, or
|rawdata||The source of the document to validate. Full documents only. At the moment, will only work if data is sent with the UTF-8 encoding.||None, but either this parameter, or
|output||triggers the various outputs formats of the validator. If unset, the usual
Web format will be sent. If set to
SOAP format description
When called with parameter
output=soap12, the validator will switch
to its SOAP 1.2 interface (experimental for now). Below is a sample response, as well as
a description of the most important elements of the response.
sample SOAP 1.2 validation response
IMPORTANT: this output is still new, and may be changed in the future. Should this happen, this documentation will be updated and the changes listed below.
A SOAP response for the validation of a document (invalid) will look like this:
<?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <m:feedvalidationresponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding" xmlns:m="http://www.w3.org/2005/10/feed-validator"> <m:uri>http://www.w3.org/QA/news.rss</m:uri> <m:checkedby>http://qa-dev.w3.org/feed/check.cgi</m:checkedby> <m:date>2005-11-11T11:48:24.491627</m:date> <m:validity>false</m:validity> <m:errors> <m:errorcount>2</m:errorcount> <m:errorlist> <error> <level>error</level> <type>MissingDescription</type> <line>23</line> <column>0</column> <text>Missing channel element: description</text> <msgcount>1</msgcount> <backupcolumn>0</backupcolumn> <backupline>23</backupline> <element>description</element> <parent>channel</parent> </error> </m:errorlist> </m:errors> <m:warnings> <m:warningcount>0</m:warningcount> <m:warninglist></m:warninglist> </m:warnings> <m:informations> <m:infocount>0</m:infocount> <m:infolist></m:infolist> </m:informations> </m:feedvalidationresponse> </env:Body> </env:Envelope>
SOAP1.2 response format reference
|markupvalidationresponse||The main element of the validation response. Encloses all other information about the validation results.|
|uri||the address of the document validated. Will (likely?) be upload://Form Submission if an uploaded document or fragment was validated. In EARL terms, this is the TestSubject.|
|checkedby||Location of the service which provided the validation result. In EARL terms, this is the Assertor.|
|doctype||Detected (or forced) Document Type for the validated document|
|charset||Detected (or forced) Character Encoding for the validated document|
|validity||Whether or not the document validated passed or not formal validation|
|errors||Encapsulates all data about errors encountered through the validation process|
|errorcount||a child of errors, counts the number of errors listed|
|errorlist||a child of errors, contains the list of errors (surprise!)|
|error||a child of errorlist, contains the information on a single validation error.|
SOAP1.2 atomic message (error or warning) format reference
As seen as the example above, the children of the
element, but also the
warning element are
message, defined below:
|line||Within the source code of the validated document, refers to the line where the error was detected.|
|col||Within the source code of the validated document, refers to the line where the column was detected.|
|text||The actual error/warning/info message|
|msgcount||How many times this message was encountered|
|element||element in the feed where the message was triggered|
|parent||In the feed, parent of the
|value||if applicable the value of the element, attribute or content which triggered the message|
Another way to access this Web Service is through code libraries. At this moment, there are already two libraries created to access this service:
If you have built a library for another language, send a message to the www-validator public mailing-list, and we will add it to the list here.