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