1 <?xml version="1.0"?>
\r
2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
\r
3 <xsl:output method = "html" encoding="iso-8859-1" />
\r
4 <xsl:template match="/Exception">
\r
9 <xsl:if test = "ExceptionRecord/@ExceptionAddress[1]">
\r
13 <TH>Exceptino Description</TH> <TH>Code</TH> <TH>Address</TH> <TH>Module</TH>
\r
14 <xsl:if test="ExceptionRecord/@Filename[1]">
\r
15 <TH>Filename</TH> <TH>Function</TH> <TH>Line</TH>
\r
20 <xsl:value-of select = "ExceptionRecord/@ExceptionDescription[1]" />
\r
23 <xsl:value-of select = "ExceptionRecord/@ExceptionCode[1]" />
\r
26 <xsl:value-of select = "ExceptionRecord/@ExceptionAddress[1]" />
\r
29 <xsl:value-of select = "ExceptionRecord/@ModuleName[1]" />
\r
31 <xsl:if test="ExceptionRecord/@Filename[1]">
\r
33 <xsl:value-of select = "ExceptionRecord/@Filename[1]" />
\r
37 <xsl:if test="ExceptionRecord/@FunctionName[1]">
\r
39 <xsl:value-of select = "ExceptionRecord/@FunctionName[1]" />
\r
40 <xsl:if test="ExceptionRecord/@FunctionDisplacement[1]">
\r
41 + <xsl:value-of select = "ExceptionRecord/@FunctionDisplacement[1]" />
\r
44 <xsl:if test="ExceptionRecord/@LineNumber[1]">
\r
46 <xsl:value-of select = "ExceptionRecord/@LineNumber[1]" />
\r
47 <xsl:if test="ExceptionRecord/@LineDisplacement[1]">
\r
48 + <xsl:value-of select = "ExceptionRecord/@LineDisplacement[1]" />
\r
57 <xsl:if test="ApplicationDescription">
\r
58 <H2>Application Description</H2>
\r
59 <pre><xsl:value-of select = "ApplicationDescription" /> </pre>
\r
62 <xsl:if test="CallStack">
\r
65 <tr> <th>#</th> <th> Return Address </th> <th>Module</th> <th>File</th> <th> Function </th> <th> Line </th> </tr>
\r
66 <xsl:for-each select="CallStack/Frame">
\r
67 <xsl:sort data-type="number" select="@FrameNumber[1]"/>
\r
70 <xsl:value-of select = "@FrameNumber[1]" />
\r
73 <xsl:value-of select = "@ReturnAddress[1]" />
\r
75 <xsl:if test="@ModuleName[1]">
\r
77 <xsl:value-of select = "@ModuleName[1]" />
\r
80 <xsl:if test="not(@ModuleName[1])">
\r
85 <xsl:if test="@Filename[1]">
\r
87 <xsl:value-of select = "@Filename[1]" />
\r
90 <xsl:if test="not(@Filename[1])">
\r
96 <xsl:if test="@FunctionName[1]">
\r
98 <xsl:value-of select = "@FunctionName[1]" />
\r
99 <xsl:if test="@FunctionDisplacement[1]">
\r
100 + <xsl:value-of select = "@FunctionDisplacement[1]" />
\r
103 <xsl:if test="@LineNumber[1]">
\r
105 <xsl:value-of select = "@LineNumber[1]" />
\r
106 <xsl:if test="@LineDisplacement[1]">
\r
107 + <xsl:value-of select = "@LineDisplacement[1]" />
\r
118 <xsl:if test="Modules/Module">
\r
119 <h2>Loaded Modules</h2>
\r
121 <tr> <th>Full Path</th> <th> Product Version </th> <th> File Version </th> <th>Timestamp</th> <th>Base Addr</th> <th>Size</th> </tr>
\r
122 <xsl:for-each select="Modules/Module">
\r
123 <xsl:sort data-type="text" select="@FullPath[1]"/>
\r
126 <xsl:value-of select = "@FullPath[1]" />
\r
129 <xsl:value-of select = "@ProductVersion[1]" />
\r
132 <xsl:if test="@ProductVersion[1] != @FileVersion[1]">
\r
133 <xsl:value-of select = "@FileVersion[1]" />
\r
137 <xsl:value-of select = "@TimeStamp[1]" />
\r
140 <xsl:value-of select = "@BaseAddress[1]" />
\r
143 <xsl:value-of select = "@Size[1]" />
\r