* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / System.Web.Services / Test / standalone / cormissing.xsl
1 <?xml version="1.0" ?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
4         <xsl:output method="text" indent="no"/>
5         <!--    <xsl:output method="xml"/>-->
6         <xsl:strip-space elements="*"/>
7
8         <!-- assembly -->
9         <xsl:template match="/assemblies">
10                 <xsl:apply-templates select="assembly">
11                         <xsl:sort select="@name"/>
12                 </xsl:apply-templates>
13         </xsl:template>
14
15         <xsl:template match="assemblies/assembly">
16                         <xsl:call-template name="ELEMENT">
17                                 <xsl:with-param name="class">y</xsl:with-param>
18                         </xsl:call-template>
19                         <xsl:if test="not(@presence)">
20                                 <xsl:apply-templates/>
21                         </xsl:if>
22         </xsl:template>
23
24
25         <!-- namespace -->
26         <xsl:template match="assembly/namespaces">
27                 <xsl:apply-templates select="namespace">
28                         <xsl:sort select="@name"/>
29                 </xsl:apply-templates>
30         </xsl:template>
31
32         <xsl:template match="namespaces/namespace">
33                         <xsl:call-template name="ELEMENT">
34                                 <xsl:with-param name="class">n</xsl:with-param>
35                         </xsl:call-template>
36                         <xsl:if test="not(@presence)">
37                                 <xsl:apply-templates/>
38                         </xsl:if>
39         </xsl:template>
40
41
42         <xsl:template match="namespace/classes">
43                 <xsl:apply-templates select="interface">
44                         <xsl:sort select="@name"/>
45                 </xsl:apply-templates>
46                 <xsl:apply-templates select="class">
47                         <xsl:sort select="@name"/>
48                 </xsl:apply-templates>
49                 <xsl:apply-templates select="struct">
50                         <xsl:sort select="@name"/>
51                 </xsl:apply-templates>
52                 <xsl:apply-templates select="delegate">
53                         <xsl:sort select="@name"/>
54                 </xsl:apply-templates>
55                 <xsl:apply-templates select="enum">
56                         <xsl:sort select="@name"/>
57                 </xsl:apply-templates>
58         </xsl:template>
59
60
61         <!-- class -->
62         <xsl:template match="classes/class">
63                         <xsl:call-template name="ELEMENT">
64                                 <xsl:with-param name="class">c</xsl:with-param>
65                         </xsl:call-template>
66                         <xsl:if test="(@missing_total or @todo_total or @extra_total or @warning_total or @error) and not(@presence)">
67                                 <xsl:apply-templates select="attributes"/>
68                                 <xsl:apply-templates select="interfaces"/>
69                                 <xsl:apply-templates select="constructors"/>
70                                 <xsl:apply-templates select="./*[local-name() != 'attributes' and local-name() != 'constructors' and local-name() != 'interfaces']"/>
71                         </xsl:if>
72         </xsl:template>
73
74
75         <!-- struct -->
76         <xsl:template match="classes/struct[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
77                         <xsl:call-template name="ELEMENT">
78                                 <xsl:with-param name="class">s</xsl:with-param>
79                         </xsl:call-template>
80                         <xsl:if test="not(@presence)">
81                                 <xsl:apply-templates/>
82                         </xsl:if>
83         </xsl:template>
84
85
86
87         <!-- interface -->
88         <xsl:template match="interfaces">
89                 <xsl:apply-templates select="interface">
90                         <xsl:sort select="@name"/>
91                 </xsl:apply-templates>
92         </xsl:template>
93
94         <xsl:template match="interface[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
95                         <xsl:call-template name="ELEMENT">
96                                 <xsl:with-param name="class">i</xsl:with-param>
97                         </xsl:call-template>
98                         <xsl:if test="not(@presence)">
99                                 <xsl:apply-templates/>
100                         </xsl:if>
101         </xsl:template>
102
103
104         <!-- delegate -->
105         <xsl:template match="classes/delegate[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
106                         <xsl:call-template name="ELEMENT">
107                                 <xsl:with-param name="class">d</xsl:with-param>
108                         </xsl:call-template>
109                         <xsl:if test="not(@presence)">
110                                 <xsl:apply-templates/>
111                         </xsl:if>
112         </xsl:template>
113
114
115         <!-- enumeration -->
116         <xsl:template match="classes/enum[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
117                         <xsl:call-template name="ELEMENT">
118                                 <xsl:with-param name="class">en</xsl:with-param>
119                         </xsl:call-template>
120                         <xsl:if test="not(@presence)">
121                                 <xsl:apply-templates/>
122                         </xsl:if>
123         </xsl:template>
124
125
126         <!-- method -->
127         <xsl:template match="methods">
128                 <xsl:apply-templates select="method">
129                         <xsl:sort select="@name"/>
130                 </xsl:apply-templates>
131         </xsl:template>
132
133         <xsl:template match="methods/method[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
134                         <xsl:call-template name="ELEMENT">
135                                 <xsl:with-param name="class">m</xsl:with-param>
136                         </xsl:call-template>
137                         <xsl:if test="not(@presence)">
138                                 <xsl:apply-templates/>
139                         </xsl:if>
140         </xsl:template>
141
142
143         <!-- property -->
144         <xsl:template match="properties">
145                 <xsl:apply-templates select="property">
146                         <xsl:sort select="@name"/>
147                 </xsl:apply-templates>
148         </xsl:template>
149
150         <xsl:template match="properties/property[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
151                         <xsl:call-template name="ELEMENT">
152                                 <xsl:with-param name="class">p</xsl:with-param>
153                         </xsl:call-template>
154                         <xsl:if test="not(@presence)">
155                                 <xsl:apply-templates/>
156                         </xsl:if>
157         </xsl:template>
158
159
160         <!-- event -->
161         <xsl:template match="events">
162                 <xsl:apply-templates select="event">
163                         <xsl:sort select="@name"/>
164                 </xsl:apply-templates>
165         </xsl:template>
166
167         <xsl:template match="events/event[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
168                         <xsl:call-template name="ELEMENT">
169                                 <xsl:with-param name="class">e</xsl:with-param>
170                         </xsl:call-template>
171                         <xsl:if test="not(@presence)">
172                                 <xsl:apply-templates/>
173                         </xsl:if>
174         </xsl:template>
175
176
177         <!-- constructor -->
178         <xsl:template match="constructors">
179                 <xsl:apply-templates select="constructor">
180                         <xsl:sort select="@name"/>
181                 </xsl:apply-templates>
182         </xsl:template>
183
184         <xsl:template match="constructors/constructor[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
185                         <xsl:call-template name="ELEMENT">
186                                 <xsl:with-param name="class">x</xsl:with-param>
187                                 <xsl:with-param name="image">m</xsl:with-param>
188                         </xsl:call-template>
189                         <xsl:if test="not(@presence)">
190                                 <xsl:apply-templates/>
191                         </xsl:if>
192         </xsl:template>
193
194
195         <!-- field -->
196         <xsl:template match="fields">
197                 <xsl:apply-templates select="field">
198                         <xsl:sort select="@name"/>
199                 </xsl:apply-templates>
200         </xsl:template>
201
202         <xsl:template match="fields/field[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
203                         <xsl:call-template name="ELEMENT">
204                                 <xsl:with-param name="class">f</xsl:with-param>
205                         </xsl:call-template>
206                         <xsl:if test="not(@presence)">
207                                 <xsl:apply-templates/>
208                         </xsl:if>
209         </xsl:template>
210
211         <!-- accessor -->
212         <xsl:template match="property/accessors">
213                 <xsl:apply-templates select="method">
214                         <xsl:sort select="@name"/>
215                 </xsl:apply-templates>
216         </xsl:template>
217
218         <xsl:template match="property[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]/accessors/method[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
219                         <xsl:call-template name="ELEMENT">
220                                 <xsl:with-param name="class">o</xsl:with-param>
221                                 <xsl:with-param name="image">m</xsl:with-param>
222                         </xsl:call-template>
223                         <xsl:if test="not(@presence)">
224                                 <xsl:apply-templates/>
225                         </xsl:if>
226         </xsl:template>
227
228
229         <!-- attribute -->
230         <xsl:template match="attributes">
231                 <xsl:apply-templates select="attribute">
232                         <xsl:sort select="@name"/>
233                 </xsl:apply-templates>
234         </xsl:template>
235
236         <xsl:template match="attributes/attribute[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
237                         <xsl:call-template name="ELEMENT">
238                                 <xsl:with-param name="class">r</xsl:with-param>
239                         </xsl:call-template>
240                         <xsl:if test="not(@presence)">
241                                 <xsl:apply-templates/>
242                         </xsl:if>
243         </xsl:template>
244
245
246
247         <!-- support templates -->
248
249         <xsl:template name="ELEMENT">
250                 <xsl:param name="class"/>
251                 <xsl:param name="image"/>
252                 <xsl:for-each select="ancestor::node()"><xsl:text> </xsl:text></xsl:for-each>
253                 <xsl:choose>
254                         <xsl:when test="@error != 'todo'">[E] </xsl:when>
255                         <xsl:when test="@error = 'todo'">[T] </xsl:when>
256                         <xsl:when test="@presence = 'missing'">[-] </xsl:when>
257                         <xsl:when test="@presence = 'extra'">[+] </xsl:when>
258                         <xsl:otherwise>[ ] </xsl:otherwise>
259                 </xsl:choose>
260                 <xsl:value-of select="$image"/>
261                 <xsl:call-template name="name"/>
262                 <xsl:if test="not(@presence)">
263                         <xsl:call-template name="status"/>
264                 </xsl:if>
265                 <xsl:text>
266 </xsl:text>
267         </xsl:template>
268
269         <xsl:template name="status">
270                 <xsl:if test="@complete_total and @complete_total != 0">
271                                 <xsl:text>:</xsl:text>
272                                 <xsl:value-of select="@complete_total"/>
273                                 <xsl:text>%</xsl:text>
274                 </xsl:if>
275                 <xsl:if test="@todo_total"> TODO:<xsl:value-of select="@todo_total"/></xsl:if>
276                 <xsl:if test="@missing_total"> MISSING:<xsl:value-of select="@missing_total"/></xsl:if>
277                 <xsl:if test="@extra_total"> EXTRA:<xsl:value-of select="@extra_total"/></xsl:if>
278                 <xsl:if test="@warning_total"> WARNING:<xsl:value-of select="@warning_total"/></xsl:if>
279         </xsl:template>
280
281         <xsl:template name="name">
282                 <xsl:if test="@name">
283                         <xsl:value-of select="@name"/>
284                 </xsl:if>
285         </xsl:template>
286
287         <xsl:template match="warnings/warning" mode="hover">
288                 <xsl:text>WARNING: </xsl:text>
289                 <xsl:value-of select="@text"/>
290         </xsl:template>
291
292 </xsl:stylesheet>