This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: template stack trace


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]