US Given a file sitemap.txt with one URL per line, the validator submits them to the W3C-Validator and generates a file sitemap.val containing the URLs and the number of errors on that page.
See Sitemap Generator to create a sitemap.txt file.
#!/bin/sh # the next line restarts using -*-Tcl-*-sh \ exec tclsh "$0" ${1+"$@"} package require http proc validate {url} { set query [::http::formatQuery uri $url] set p [::http::geturl http://validator.w3.org/check?$query] upvar 0 $p state array set arr $state(meta) if {$arr(X-W3C-Validator-Status) eq "Valid"} { set res 0 } else { set res $arr(X-W3C-Validator-Errors) } return [list $url $res] } set ifd [open sitemap.txt r] set ofd [open sitemap.val w] while {[gets $ifd line] != -1} { puts $line puts $ofd [validate $line] } close $ofd close $ifd