Hello, I use xalan-C++ to transform a DOM input source (Xerces class). I got the following assertion when i use the stylesheet 'identity.xsl', whatever the DOM input is (including a document with an empty root element) : XalanSourceTree/XalanSourceTreeDOMSupport.cpp:143: bool XalanSourceTreeDOMSupport::isNodeAfter (const XalanNode &, const XalanNode &) const: Assertion `node1.isIndexed() == true && node1.isIndexed() == true' failed. I've tried the same transformation with the "testXSLT" tool and other stylesheet (identity2.xsl, which is another way of doing the same transformation as 'identity.xsl') with the DOM input source : it works. So, it seems that the problem is linked with the stylesheet 'identity.xsl' and the DOM input source. Why does this assertion mean ? (For me, the main purpose of an assertion is to have a message before a crash, so i think this means that this is a bug) Thanks Denis Gourlaouen PS: I use xalan v1.1 on Linux
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:output method="xml" encoding='iso-8859-1'/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:output method="xml" encoding='iso-8859-1'/> <xsl:template match="/"> <xsl:copy-of select="."/> </xsl:template> </xsl:stylesheet>
