DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22210>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22210 failed assertion during stylesheet compile (Stylesheet.cpp, line #803) Summary: failed assertion during stylesheet compile (Stylesheet.cpp, line #803) Product: XalanC Version: 1.6 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: XalanC AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Code that asserts: const ElemTemplate*Code that asserts: const ElemTemplate* Stylesheet::findNamedTemplate(const XalanQName& qname) const { assert(m_importsSize == m_imports.size()); This is a bit tricky to explain, the setup is that I have: top-level stylesheet: <xsl:import href="b.xsl"/> <xsl:import href="a.xsl"/> a.xsl: <xsl:import href="c.xsl"/> <xsl:template name="foobar" match="nud"> <xsl:call-template name="foobar"> </xsl:template> b.xsl: <xsl:template match="/"> <xsl:call-template name="foobar"/> </xsl:template> c.xsl: <xsl:template match="/"/> What happens is that b is postConstructed first (although from the comments in the post construction code, it looks like it should be last?). When the call-template element in b is constructed, then it winds up calling findNamedTemplate() in a.xsl. postConstruct() has not yet been called on a, so the assertion triggers (correctly, since if the template foobar was pushed down into c.xsl i guess it would not be found). I'm unsure as to how to correct this -- but I think that you should either get an error from the compile; or no assertion. Any pointers? Thanks, Mark
