XMLをXSLTを使用してHTML5に変換しています.使用しているXSLTプロセッサはSaxon 9.1Bです.(古いDITA Open Tooolkitについてくるもの)

<xsl:output method="html"
            encoding="UTF-8"
            indent="no"
            doctype-system="about:legacy-compat"
            omit-xml-declaration="yes"/>

ところがあらぬ文字が混入しているとHTMLへのシリアライズでエラーが出ます.

[xslt]
D:\DITA-OT\DITA-OT1.7.5-xxxx\plugins\co.xxxx.html\xsl\xslhtml\dita2htm.toc.xsl:194:
Fatal Error! Illegal HTML character: decimal 129

この場合は、<xsl:value-of select="$xxxx"/>の中に文字U+0081が入っていた場合です.

XSLTによるHTML変換で発生するこのようなエラーを事前に検出し、抑制したいのですが、そもそもHTML5で許容されない文字が何であるかがわかりません.

HTML(もしくはHTML5)で許容されない文字はどこでどのように定義されているのでしょうか?いろいろWebを探してみましたがどこで規定されているのかがわかりません.

参考URL
XSLT throwing Illegal HTML character exception
http://saxon-xslt-and-xquery-processor.13853.n7.nabble.com/XSLT-throwing-Illegal-HTML-character-exception-td5143.html

ご存知の方おられましたら教えてください.

以上 よろしくお願いいたします.