Page 1 sur 1

Validateur HTML, mise à jour

Posté : 15 août 2008, 12:21
par Hywan
Hey :),

Le validateur HTML, SVG, MathML, etc., du W3C a été mis à jour pour passer en 0.8.3 (je vous l'annonce avec du retard, la mise à jour date du 8 aout, désolé). On pourra lire les release notes. Pour donner des impressions, des retours, des bug, etc., ça se passe toujours sur la page des feedbacks. La grosse nouvelle c'est un peu l'utilisation des en-tête HTTP pour valider un document avec JSON. En effet, il suffit d'envoyer (sans JSON dans un premier temps, pour l'exemple) :

Code : Tout sélectionner

HEAD http://validator.w3.org/check?uri=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/2342-opensp_type_X.html
pour avoir en retour

Code : Tout sélectionner

200 OK Date: Fri, 15 Aug 2008 12:05:12 GMT Content-Language: en Content-Type: text/html; charset=utf-8 Client-Date: Fri, 15 Aug 2008 12:05:12 GMT Client-Peer: 195.xxx.44.7:80 Client-Response-Num: 1 X-W3C-Validator-Errors: 0 X-W3C-Validator-Recursion: 1 X-W3C-Validator-Status: Valid X-W3C-Validator-Warnings: 1
C'est quand même bien pratique non ;-) ?

Pour ceux qui souhaiteraient avoir une sortie particulière (genre JSON, XML, Notation3 RDF, etc.), on peut ajouter le paramètre output avec différente valeur. Par exemple, avec une sortie JSON, on envoie :

Code : Tout sélectionner

GET "http://validator.w3.org/check?uri=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/2342-opensp_type_X.html&output=json"
et on obtient :

Code : Tout sélectionner

{ "url": "http://qa-dev.w3.org/wmvs/HEAD/dev/tests/2342-opensp_type_X.html", "messages": [ { "type": "info", "subtype": "warning" "lastLine": "11", "lastColumn": 20, "message": "reference to non-existent ID \"MMIARCH\"", "messageid": 183, "explanation": " <p class=\"helpwanted\">\n <a\n href=\"http://validator.w3.org/feedback.html? uri=http%3A%2F%2Fqa-dev.w3.org%2Fwmvs%2FHEAD%2Fdev %2Ftests%2F2342-opensp_type_X.html;errmsg_id=183#errormsg\"\n title=\"Suggest improvements on this error message through our feedback channels\" \n >&#x2709;</a>\n </p>\n\n <div class=\"ve mid-183\">\n <p>This error can be triggered by:</p>\n <ul>\n <li>A non-existent input, select or textarea element</li>\n <li>A missing id attribute</li>\n <li>A typographical error in the id attribute</li>\n </ul>\n <p>Try to check the spelling and case of the id you are referring to.</p>\n </div>\n", } ], "source": { "encoding": "utf-8" } }
Pour une sortie XML, on envoie :

Code : Tout sélectionner

GET "http://validator.w3.org/check?uri=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/2342-opensp_type_X.html&output=xml"
et on obtient :

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <!-- FIXME: text/xsl is not a registered media type --> <?xml-stylesheet type="text/xsl" href="xml-results.xsl"?> <!-- This interface is highly experimental and the output *will* change (probably even several times) before finished. Do *not* rely on it! See http://validator.w3.org/docs/users.html#api-warning --> <!DOCTYPE result [ <!ELEMENT result (meta, warnings?, messages?)> <!ATTLIST result version CDATA #FIXED '0.9.1' > <!ELEMENT meta (uri, modified, server, size, encoding, doctype, errors)> <!ELEMENT uri (#PCDATA)> <!ELEMENT modified (#PCDATA)> <!ELEMENT server (#PCDATA)> <!ELEMENT size (#PCDATA)> <!ELEMENT encoding (#PCDATA)> <!ELEMENT doctype (#PCDATA)> <!ELEMENT errors (#PCDATA)> <!ELEMENT warnings (warning)+> <!ELEMENT warning (#PCDATA)> <!ELEMENT messages (msg)*> <!ELEMENT msg (#PCDATA)> <!ATTLIST msg line CDATA #IMPLIED col CDATA #IMPLIED offset CDATA #IMPLIED > ]> <result> <meta> <uri>http://qa-dev.w3.org/wmvs/HEAD/dev/tests/2342-opensp_type_X.html</uri> <modified></modified> <server>Apache/2.2.9 (Debian) PHP/5.2.6-2+b1 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0</server> <size>398</size> <encoding>utf-8</encoding> <doctype>-//W3C//DTD HTML 4.01//EN</doctype> <errors>0</errors> </meta> <warnings> </warnings> <messages> <msg line="11" col="20" >reference to non-existent ID "MMIARCH"</msg> </messages> </result>
On peut demander plusieurs sorties : Web Service API SOAP 1.2 (soap12), EARL/RDF (earl), Notation3 (n3), JSON introduit avec cette mie à jour (json), et enfin XML (xml). Attention, le XML est déprécié (comme PHP 4 ;-)), il est fortement recommander d'utiliser JSON à la place. Pour en savoir plus, voir la page des sorties possibles.

Pour ceux qui veulent valider un document sans passer par Internet, il existe plusieurs outils. On pourra télécharger les sources et même y trouver un validateur SAC(Stand Alone Complex) pour Mac OS X (;-)) qui est déjà à jour avec la 0.8.3, très réactif.
Et sinon, je tente de contribuer à un validateur écrit en PHP par Henri Sivonen. Il ne supporte pas encore très bien l'ensemble des balises pour tableau et ne valide que les documents HTML 4.01, je vise à passer en HTML 5 (mais au ralenti …).

Re: Validateur HTML, mise à jour

Posté : 15 août 2008, 16:06
par Victor BRITO
Et sinon, je tente de contribuer à un validateur écrit en PHP par Henri Sivonen.
À propos de contribution, il est à noter que, depuis cette dernière mise à jour, le validateur de balisage du W3C est estampillé open source. ;)
Il ne supporte pas encore très bien l'ensemble des balises pour tableau et ne valide que les documents HTML 4.01, je vise à passer en HTML 5 (mais au ralenti …).
N'oublie pas le XHTML, tout de même. ;)