This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: template stack trace
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] template stack trace
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Fri, 27 Jul 2001 18:40:24 +0200 (MET DST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Richard,
> One can use the <xsl:message terminate="yes> .... </message>
> as a method of indicating that a fatal error occurred in your xslt
> program.
> What I would like is to be able to print out the named-template stack
> trace
> so that I can tell the context inwhich the error arose.
>
> (if template A calls template B calls template C and in C a fatal error
> is
> detected, how do I find out that I am within templates A and B?)
Unless a diligent XSLT implementor provides such a facility in an XSLT
processor you may implement this stack yourself:
<xsl:template match="A">
<xsl:param name="stack" />
...
<xsl:apply-templates>
<xsl:with-param name="stack" select="concat('A - ', $stack)" />
</xsl:apply-templates>
...
<xsl:message terminate="yes">
Template stack: <xsl:value-of select="$stack" />
</xsl:message>
</xsl:template>
<xsl:template match="B">
<xsl:param name="stack" />
...
<!-- dito -->
</xsl:template>
However, this seems to be quite laborious ...
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@informatik.hu-berlin.de |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list