[xslt] Bug? xsltPrecomputeStylesheet() puts ns on root node without checking for conflict



When libxml2 is configured --with-run-debug, xsltproc on the following
stylesheet complains "Reference to namespace 'n' not in scope". This
appears to be because xsltPrecomputeStylesheet() is moving excluded
namespaces to the root node, even if the root node already contains a
definition for that namespace prefix (xslt.c, line 3531).

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                xmlns:n="ns" exclude-result-prefixes="n"
                version='1.0'>
  <xsl:template match="/"  xmlns:n="ns"/>
</xsl:stylesheet>

Perhaps it's okay because the namespace definitions aren't consulted
after this? At any rate I can't produce any symptoms apart from the
debug print.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]