t.validate-xhtml   [plain text]


#! /bin/sh

# This test script validates all *.html files as XHTML.

set -eu
e=0
fail=
IFS=$(printf '\n\t')

# smoke test validator and skip if it fails
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.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head><title /></head><body></body></html>
_EOF

for i in "${srcdir}"/*.html ; do
    case "$i" in */fetchmail-man.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