 <p>This looks like a bug in <a href="http://search.cpan.org/dist/XML-Schematron/" rel="nofollow">XML::Schematron</a>. The following line in docbook.sch is not taken into account:</p> <pre><code>&lt;s:ns prefix="db" uri="http://docbook.org/ns/docbook"/&gt; </code></pre> <p>The validation is done by turning the schema into an XSLT stylesheet. I was able to make the error go away by adding the DocBook namespace declaration in the XSLTProcessor.pm module:</p> <pre class="lang-pl prettyprint-override"><code>$self-&gt;append_template( qq|&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt; &lt;xsl:stylesheet $ns version="1.0" xmlns:db="http://docbook.org/ns/docbook"&gt; &lt;xsl:output method="text"/&gt; &lt;xsl:template match="/"&gt; &lt;xsl:apply-templates select="/" mode="$mode"/&gt;| ); </code></pre> <p>The above is just a hack. A proper fix (which I haven't attempted) should of course work for any namespace declared in a Schematron schema.</p>