--fix-suggestions rewrites this one, and a plain
--fix leaves it alone: the correction changes what the
stylesheet does, or is one of several the check would accept.
A namespace prefix declared on the xsl:stylesheet and never used sends its
reader looking for names it qualifies. Remove the declaration.
Incorrect:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:foo="urn:foo" version="2.0">
<!-- the foo prefix is never used anywhere -->
</xsl:stylesheet>
Correct:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<!-- only namespaces that are actually used are declared -->
</xsl:stylesheet>
A prefix is used where it qualifies a name in an element, an attribute, an
expression or a value template, or where a prefix list or xsl:namespace-alias
names it. A computed name, an evaluated path or an extension function may
still resolve it at run time, so check before removing it. Where a literal
result element copies the namespace out and no #all of XSLT 2.0 or later
excludes it, removing the declaration changes the output.