#! /bin/sh # This test script validates all *.html files as XHTML. set -eu e=0 fail= IFS=$(printf '\n\t') # smoke test validator for XHTML 1.0 Transitional, and skip if it fails cat - <<'_EOF' | xmllint 2>/dev/null --nonet --postvalid --noout - || exit 77 </head><body></body></html> _EOF # ditto for XHTML 1.1 (asciidoc generates that) cat - <<'_EOF' | xmllint 2>/dev/null --nonet --postvalid --noout - || exit 77 <?xml version="1.0" encoding="US-ASCII"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title /></head><body><p></p></body></html> _EOF for i in "${srcdir}"/*.html ; do case "$i" in */fetchmail-man.html) continue ;; # */Mailbox-Names-UTF7.html) continue ;; esac xmllint --postvalid --noout "$i" || { e=1 ; fail="$i${fail:+" "}$fail" ; } done if [ $e != 0 ] ; then echo >&2 ">>>>> Invalid XHTML in files: ${fail}." fi exit $e