Validació de documents XHTML
Contingut
Referències
XHTML: regles i sintaxi
- http://expression.microsoft.com/en-us/dd439540.aspx
- http://www.ssi-developer.net/xhtml/xhtml-syntax.shtml
validació online
Editor que integra opcions XHTML:
Firefox, firebug
Una possibilitat és validar XHTML des del Firefox
- Eines > Desenvolupador Web > Consola d'errors
i des del Firebug, si clico en la consola he d'activar l'opció de Mostra les errades de XML. Però no veig que funcioni ni l'un ni l'altre (TBD)
tidy i curl: eines de consola, automatització
tidy (que en anglès significa netejar és una aplicació de consola per validar codi XML i variants.
curl serveix per transferir URLs, és a dir, que gràcies a curl podem accedir a fitxers online que estiguin a la web.
$ sudo apt-get install curl
$ man tidy $ man curl
Tidy
-xml: specify the input is well formed XML (input-xml: yes) -asxml, -asxhtml: convert HTML to well formed XHTML (output-xhtml: yes) -ashtml: force XHTML to well formed HTML (output-html: yes)
Exemples d'ús:
$ tidy -q -xml /home/joan/M06_WEC/prova_validacio.html $ tidy -q -asxml /home/joan/M06_WEC/prova_validacio.html
- opció xml: t'indica quins errors tens
- opció asxml, ashtml: et corregeix els errors, i només t'indica els warnings que queden
Altres opcions:
- -output fitxer: escriu a fitxer el fitxer original amb les correccions
- -file fitxer: escriu en el fitxer els errors i warnings
- -modify: modifica el fitxer original corregint els errors
També hi ha l'opció doctype per indicar el tipus de document XML:
Type: DocType Default: auto Example: omit, auto, strict, transitional, user
Hi ha la possibilitat de ficar les opcions que fem servir en el fitxer de configuració /etc/tidy.conf
Automatitzar: validar tots els fitxers html d'una carpeta: script tidy_script.sh
#!/bin/bash for file in *.html; do echo $file >> tidy.log tidy -q -xml $file >> tidy.log 2>&1 echo >> tidy.log done
I fem la prova:
$ ./tidy_script.sh $ cat tidy.log demo.html line 6 column 3 - Error: unexpected </head> in <meta> line 19 column 3 - Error: unexpected </body> in <p> line 20 column 1 - Error: unexpected </html> in <p> prova_validacio.html line 6 column 3 - Error: unexpected </head> in <meta> line 16 column 9 - Error: unexpected </p> in <em> line 18 column 3 - Error: unexpected </body> in <em> line 19 column 1 - Error: unexpected </html> in <em>
curl
Amb curl podem accedir a recursos que estiguin al núvol:
$ curl -Ls http://arthropoda.joanillo.org/index.php | tidy -q -xml line 15 column 9 - Error: unexpected </head> in <meta> line 41 column 4271 - Warning: replacing invalid character code 137 line 41 column 28831 - Warning: unescaped & or unknown entity "&q" line 41 column 28840 - Warning: unescaped & or unknown entity "&m" line 41 column 59266 - Warning: replacing invalid character code 137 line 41 column 63632 - Warning: replacing invalid character code 137 line 53 column 40 - Warning: replacing invalid character code 154 line 53 column 60 - Warning: replacing invalid character code 154 line 88 column 17 - Error: unexpected </div> in <ul> line 147 column 9 - Error: unexpected </body> in <ul> line 148 column 1 - Error: unexpected </html> in <ul>
Utilitzem un pipe per encadenar les dues aplicacions.
creat per Joan Quintana Compte, novembre 2012