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
Terms of Use
- 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:
http://validator.w3.org/feed/check.cgi .
Note
- 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.
Parameter | Description | Default value |
---|---|---|
url | The URL of the document to validate | None, but either this parameter, or uploaded_file ,
or fragment must be given. |
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 uri
must be given. You should also set parameter manual to 1 to use direct input validation.
|
output | triggers the various outputs formats of the validator. If unset, the usual
Web format will be sent. If set to soap12 , the SOAP1.2 interface will
be triggered. See below for the SOAP 1.2 response format description. |
unset |
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
element | description |
---|---|
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. |
Note: warnings
, warningcount
,
warninglist
and warning
,
as well as
informations
, infocount
,
infolist
and info
are similar to, respectively,
errors
,
errorcount
,
errorlist
and
error
.
SOAP1.2 atomic message (error or warning) format reference
As seen as the example above, the children of the error
element, but also the warning
element are line
, col
and
message
, defined below:
element | description |
---|---|
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 element |
value | if applicable the value of the element, attribute or content which triggered the message |
Code Libraries
Another way to access this Web Service is through code libraries. At this moment, there are already two libraries created to access this service:
- in perl: WebService::Validator::Feed::W3C,
- in ruby: FeedValidator for Ruby and Rails
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.