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@xxxxxxxxxxxxxxxxxxxxxxx |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|