added more overlay handler infos
[TortoiseGit.git] / src / crashrpt / CrashRptStyleSheet.xsl
blob76af87216880c26997d41dc20d563e5277a92a61
1 <?xml version="1.0"?>
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">
5 <html>
6 <title></title>
7 <body>
9 <xsl:if test = "ExceptionRecord/@ExceptionAddress[1]">
10 <H2>Exception</H2>
11 <TABLE BORDER="1">
12 <TR>
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>
16 </xsl:if>
17 </TR>
18 <TR>
19 <TD>
20 <xsl:value-of select = "ExceptionRecord/@ExceptionDescription[1]" />
21 </TD>
22 <TD>
23 <xsl:value-of select = "ExceptionRecord/@ExceptionCode[1]" />
24 </TD>
25 <TD>
26 <xsl:value-of select = "ExceptionRecord/@ExceptionAddress[1]" />
27 </TD>
28 <TD>
29 <xsl:value-of select = "ExceptionRecord/@ModuleName[1]" />
30 </TD>
31 <xsl:if test="ExceptionRecord/@Filename[1]">
32 <td>
33 <xsl:value-of select = "ExceptionRecord/@Filename[1]" />
34 </td>
35 </xsl:if>
37 <xsl:if test="ExceptionRecord/@FunctionName[1]">
38 <td>
39 <xsl:value-of select = "ExceptionRecord/@FunctionName[1]" />
40 <xsl:if test="ExceptionRecord/@FunctionDisplacement[1]">
41 + <xsl:value-of select = "ExceptionRecord/@FunctionDisplacement[1]" />
42 </xsl:if>
43 </td>
44 <xsl:if test="ExceptionRecord/@LineNumber[1]">
45 <td>
46 <xsl:value-of select = "ExceptionRecord/@LineNumber[1]" />
47 <xsl:if test="ExceptionRecord/@LineDisplacement[1]">
48 + <xsl:value-of select = "ExceptionRecord/@LineDisplacement[1]" />
49 </xsl:if>
50 </td>
51 </xsl:if>
52 </xsl:if>
53 </TR>
54 </TABLE>
55 </xsl:if>
57 <xsl:if test="ApplicationDescription">
58 <H2>Application Description</H2>
59 <pre><xsl:value-of select = "ApplicationDescription" /> </pre>
60 </xsl:if>
62 <xsl:if test="CallStack">
63 <h2>Call Stack</h2>
64 <table border="1">
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]"/>
68 <tr>
69 <td>
70 <xsl:value-of select = "@FrameNumber[1]" />
71 </td>
72 <td>
73 <xsl:value-of select = "@ReturnAddress[1]" />
74 </td>
75 <xsl:if test="@ModuleName[1]">
76 <td>
77 <xsl:value-of select = "@ModuleName[1]" />
78 </td>
79 </xsl:if>
80 <xsl:if test="not(@ModuleName[1])">
81 <td>
83 </td>
84 </xsl:if>
85 <xsl:if test="@Filename[1]">
86 <td>
87 <xsl:value-of select = "@Filename[1]" />
88 </td>
89 </xsl:if>
90 <xsl:if test="not(@Filename[1])">
91 <td>
93 </td>
94 </xsl:if>
96 <xsl:if test="@FunctionName[1]">
97 <td>
98 <xsl:value-of select = "@FunctionName[1]" />
99 <xsl:if test="@FunctionDisplacement[1]">
100 + <xsl:value-of select = "@FunctionDisplacement[1]" />
101 </xsl:if>
102 </td>
103 <xsl:if test="@LineNumber[1]">
104 <td>
105 <xsl:value-of select = "@LineNumber[1]" />
106 <xsl:if test="@LineDisplacement[1]">
107 + <xsl:value-of select = "@LineDisplacement[1]" />
108 </xsl:if>
109 </td>
110 </xsl:if>
111 </xsl:if>
112 </tr>
113 </xsl:for-each>
114 </table>
115 </xsl:if>
118 <xsl:if test="Modules/Module">
119 <h2>Loaded Modules</h2>
120 <table border="1">
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]"/>
124 <tr>
125 <td>
126 <xsl:value-of select = "@FullPath[1]" />
127 </td>
128 <td>
129 <xsl:value-of select = "@ProductVersion[1]" />
130 </td>
131 <td>
132 <xsl:if test="@ProductVersion[1] != @FileVersion[1]">
133 <xsl:value-of select = "@FileVersion[1]" />
134 </xsl:if>
135 </td>
136 <td>
137 <xsl:value-of select = "@TimeStamp[1]" />
138 </td>
139 <td>
140 <xsl:value-of select = "@BaseAddress[1]" />
141 </td>
142 <td>
143 <xsl:value-of select = "@Size[1]" />
144 </td>
145 </tr>
146 </xsl:for-each>
147 </table>
148 </xsl:if>
150 </body>
151 </html>
152 </xsl:template>
153 </xsl:stylesheet>