- From: Olivier Thereaux via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 09 Nov 2005 08:16:36 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/htdocs/docs In directory hutz:/tmp/cvs-serv31380 Added Files: api.html Log Message: first draft of a human-readable API reference for validation service --- NEW FILE: api.html --- <!--#set var="revision" value="\$Id: api.html,v 1.1 2005/11/09 08:16:34 ot Exp $" --><!--#set var="date" value="\$Date: 2005/11/09 08:16:34 $" --><!--#set var="title" value="Documentation of the Programmatic Interface (API) to The W3C Markup Validation Service" --><!--#set var="relroot" value="../" --><!--#include virtual="../header.html" --> <div class="doc"> <h2>API (programmatic interface)<br /> and SOAP 1.2 validation interface </h2> <h3 id="TableOfContents">Table of Contents</h3> <div id="toc"> <ul> <li><a href="#requestformat">Validation Request Format</a></li> <li><a href="#soap12format">SOAP format description</a> <ul> <li><a href="#soap12_sample">sample SOAP 1.2 validation response</a></li> <li><a href="#soap12response">SOAP1.2 response format reference</a></li> <li><a href="#soap12message">SOAP1.2 atomic message (error or warning) format reference</a></li> </ul> </li> </ul> </div> <p id="skip"></p> <h3 id="requestformat">Validation Request Format</h3> <p>Below is a table of the parameter you can use to send a query to the W3C Markup Validator.</p> <p>If you want to use W3c's public validation server, use the parameters below in conjunction with the following base URI:<br /> <kbd>http://validator.w3.org/check</kbd> <br /> (replace with the address of your own server if you want to call a private instance of the validator.</p> <p><strong>Note</strong>: If you wish to call the validator programmatically for a batch of documents, please make sure that your script will <code>sleep</code> for <strong>at least 1 second</strong> between requests. The Markup Validation service is a free, public service for all, your respect is appreciated. thanks.</p> <table> <tr> <th>Parameter</th><th>Description</th><th>Default value</th> </tr> <tr> <th>uri</th> <td>The <acronym title="Universal Resource Locator">URL</acronym> of the document to validate</td> <td>None, but either this parameter, or <code>uploaded_file</code>, or <code>fragment</code> must be given.</td> </tr> <tr> <th>uploaded_file</th> <td>The document to validate, POSTed as multipart/form-data</td> <td>None, but either this parameter, or <code>uri</code>, or <code>fragment</code> must be given.</td> </tr> <tr> <th>fragment</th> <td>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.</td> <td>None, but either this parameter, or <code>uri</code>, or <code>uploaded_file</code> must be given.</td> </tr> <tr> <th>output</th> <td>triggers the various outputs formats of the validator. If unset, the usual Web format will be sent. If set to <code>soap12</code>, the SOAP1.2 interface will be triggered. See <a href="soap12format">below for the SOAP 1.2 response format description</a>.</td> <td>unset</td> </tr> <tr> <th>charset</th> <td>Character encoding override: Specify the character encoding to use when parsing the document. When used with the auxiliary parameter <code>fbc</code> set to 1, the given encoding will only be used as a fallback value, in case the charset is absent or unrecognized. Note that this parameter is ignored if validating a <code>fragment</code> with the direct input interface.</td> <td>None, by default the validator detects the charset of the document automatically.</td> </tr> <tr> <th>doctype</th> <td>Document Type override: Specify the Document Type (DOCTYPE) to use when parsing the document. When used with the auxiliary parameter <code>fbd</code> set to 1, the given document type will only be used as a fallback value, in case the document's DOCTYPE declaration is missing or unrecognized.</td> <td>None, by default the validator detects the document type of the document automatically.</td> </tr> <tr> <th>verbose</th> <td>In the web interface, when set to 1, will make error messages, explanations and other diagnostics more verbose. In SOAP output, does not have any impact.</td> <td>0 (unset)</td> </tr> <tr> <th>ss</th> <td> as <em>show source</em>. In the web interface, triggers the display of the source after the validation results. In SOAP output, does not have any impact.</td> <td>0 (unset)</td> </tr> <tr> <th>outline</th> <td>In the web interface, when set to 1, triggers the display of the document outline after the validation results. In SOAP output, does not have any impact.</td> <td>0 (unset)</td> </tr> <tr> <th>sp</th> <td>In the web interface, when set to 1, triggers the display of the parsing tree after the validation results. When used with the auxiliary parameter <code>noatt</code> set to 1, the parse tree will not display attributes. In SOAP output, does not have any impact.</td> <td>0 (unset)</td> </tr> </table> <h3 id="soap12format">SOAP format description</h3> <p>When called with parameter <code>output=soap12</code>, 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.</p> <h4 id="soap12_sample">sample SOAP 1.2 validation response</h4> <p>A SOAP response for the validation of a document (invalid) will look like this:</p> <pre style="font-size: smaller"> <?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <<a href="#soap12_markupvalidationresponse">m:markupvalidationresponse</a> env:encodingStyle="http://www.w3.org/2003/05/soap-encoding" xmlns:m="http://www.w3.org/2005/10/markup-validator"> <<a href="#soap12_uri">m:uri</a>>http://qa-dev.w3.org/wmvs/HEAD/dev/tests/xhtml1-bogus-element.html</m:uri> <<a href="#soap12eckedby">m:checkedby</a>>http://validator.w3.org/</m:checkedby> <<a href="#soap12_doctype">m:doctype</a>>-//W3C//DTD XHTML 1.0 Transitional//EN</m:doctype> <<a href="#soap12_charset">m:charset</a>>utf-8</m:charset> <<a href="#soap12_validity">m:validity</a>>Invalid</m:validity> <<a href="#soap12_errors">m:errors</a>> <<a href="#soap12_errorcount">m:errorcount</a>>1</m:errorcount> <<a href="#soap12_errorlist">m:errorlist</a>> <<a href="#soap12_error">m:error</a>> <<a href="#soap12_line">m:line</a>>13</m:line> <<a href="#soap12_col">m:col</a>>6</m:col> <<a href="#soap12_message">m:message</a>>element "foo" undefined</m:message> </m:error> </m:errorlist> </m:errors> <m:warnings> <m:warningcount>0</m:warningcount> <m:warninglist> </m:warninglist> </m:warnings> </m:markupvalidationresponse> </env:Body> </env:Envelope> </pre> <h4 id="soap12response">SOAP1.2 response format reference</h4> <table> <tr><th>element</th><th>description</th></tr> <tr> <th id="soap12_markupvalidationresponse">markupvalidationresponse</th> <td>The main element of the validation response. Encloses all other information about the validation results.</td> </tr> <tr> <th id="soap12_uri">uri</th> <td>the address of the document validated. Will (likely?) be <kbd>upload://Form Submission</kbd> if an uploaded document or fragment was validated. In <a href="http://www.w3.org/WAI/ER/">EARL</a> terms, this is the <kbd>TestSubject</kbd>. </td> </tr> <tr> <th id="soap12_checkedby">checkedby</th> <td>Location of the service which provided the validation result. In <a href="http://www.w3.org/WAI/ER/">EARL</a> terms, this is the <kbd>Assertor</kbd>. </td> </tr> <tr> <th id="soap12_doctype">doctype</th> <td>Detected (or forced) Document Type for the validated document</td> </tr> <tr> <th id="soap12_charset">charset</th> <td>Detected (or forced) Character Encoding for the validated document</td> </tr> <tr> <th id="soap12_validity">validity</th> <td>Whether or not the document validated passed or not formal validation</td> </tr> <tr> <th id="soap12_errors">errors</th> <td>Encapsulates all data about errors encountered through the validation process</td> </tr> <tr> <th id="soap12_errorcount">errorcount</th> <td>a child of <a href="#soap12_errors">errors</a>, counts the number of errors listed</td> </tr> <tr> <th id="soap12_errorlist">errorlist</th> <td>a child of <a href="#soap12_errors">errors</a>, contains the list of errors (surprise!)</td> </tr> <tr> <th id="soap12_error">error</th> <td>a child of <a href="#soap12_errorlist">errorlist</a>, contains the information on a single validation error. </td> </tr> </table> <p><strong>Note</strong>: <code>warnings</code>, <code>warningcount</code>, <code>warninglist</code> and <code>warning</code> are similar to, respectively, <code><a href="#soap12_errors">errors</a></code>, <code><a href="soap12_errorcount">errorcount</a></code>, <code><a href="soap12_errorlist">errorlist</a></code> and <code><a href="soap12_error">error</a></code>. </p> <h4 id="soap12message">SOAP1.2 atomic message (error or warning) format reference</h4> <p>As seen as the example above, the children of the <code><a href="soap12_error">error</a></code> element, but also the <code>warning</code> element are <code>line</code>, <code>col</code> and <code>message</code>, defined below:</p> <table> <tr><th>element</th><th>description</th></tr> <tr> <th id="soap12_line">line</th> <td>Within the source code of the validated document, refers to the line where the error was detected.</td> </tr> <tr> <th id="soap12_col">col</th> <td>Within the source code of the validated document, refers to the line where the column was detected.</td> </tr> <tr> <th id="soap12_message">message</th> <td>The actual error message</td> </tr> <tr> <th id="soap12_messageid">messageid</th> <td>@@ not implemented yet@@ - should be the number of the error, as addressed internally by the validator</td> </tr> </table> </div> <!--#include virtual="../footer.html" --> </body> </html>
Received on Wednesday, 9 November 2005 08:16:42 UTC