2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
4 <xsl:output method="text" indent="no"/>
5 <!-- <xsl:output method="xml"/>-->
6 <xsl:strip-space elements="*"/>
9 <xsl:template match="/assemblies">
10 <xsl:apply-templates select="assembly">
11 <xsl:sort select="@name"/>
12 </xsl:apply-templates>
15 <xsl:template match="assemblies/assembly">
16 <xsl:call-template name="ELEMENT">
17 <xsl:with-param name="class">y</xsl:with-param>
19 <xsl:if test="not(@presence)">
20 <xsl:apply-templates/>
26 <xsl:template match="assembly/namespaces">
27 <xsl:apply-templates select="namespace">
28 <xsl:sort select="@name"/>
29 </xsl:apply-templates>
32 <xsl:template match="namespaces/namespace">
33 <xsl:call-template name="ELEMENT">
34 <xsl:with-param name="class">n</xsl:with-param>
36 <xsl:if test="not(@presence)">
37 <xsl:apply-templates/>
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>
62 <xsl:template match="classes/class">
63 <xsl:call-template name="ELEMENT">
64 <xsl:with-param name="class">c</xsl:with-param>
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']"/>
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>
80 <xsl:if test="not(@presence)">
81 <xsl:apply-templates/>
88 <xsl:template match="interfaces">
89 <xsl:apply-templates select="interface">
90 <xsl:sort select="@name"/>
91 </xsl:apply-templates>
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>
98 <xsl:if test="not(@presence)">
99 <xsl:apply-templates/>
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>
109 <xsl:if test="not(@presence)">
110 <xsl:apply-templates/>
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>
120 <xsl:if test="not(@presence)">
121 <xsl:apply-templates/>
127 <xsl:template match="methods">
128 <xsl:apply-templates select="method">
129 <xsl:sort select="@name"/>
130 </xsl:apply-templates>
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>
137 <xsl:if test="not(@presence)">
138 <xsl:apply-templates/>
144 <xsl:template match="properties">
145 <xsl:apply-templates select="property">
146 <xsl:sort select="@name"/>
147 </xsl:apply-templates>
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>
154 <xsl:if test="not(@presence)">
155 <xsl:apply-templates/>
161 <xsl:template match="events">
162 <xsl:apply-templates select="event">
163 <xsl:sort select="@name"/>
164 </xsl:apply-templates>
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>
171 <xsl:if test="not(@presence)">
172 <xsl:apply-templates/>
178 <xsl:template match="constructors">
179 <xsl:apply-templates select="constructor">
180 <xsl:sort select="@name"/>
181 </xsl:apply-templates>
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>
189 <xsl:if test="not(@presence)">
190 <xsl:apply-templates/>
196 <xsl:template match="fields">
197 <xsl:apply-templates select="field">
198 <xsl:sort select="@name"/>
199 </xsl:apply-templates>
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>
206 <xsl:if test="not(@presence)">
207 <xsl:apply-templates/>
212 <xsl:template match="property/accessors">
213 <xsl:apply-templates select="method">
214 <xsl:sort select="@name"/>
215 </xsl:apply-templates>
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>
223 <xsl:if test="not(@presence)">
224 <xsl:apply-templates/>
230 <xsl:template match="attributes">
231 <xsl:apply-templates select="attribute">
232 <xsl:sort select="@name"/>
233 </xsl:apply-templates>
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>
240 <xsl:if test="not(@presence)">
241 <xsl:apply-templates/>
247 <!-- support templates -->
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>
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>
260 <xsl:value-of select="$image"/>
261 <xsl:call-template name="name"/>
262 <xsl:if test="not(@presence)">
263 <xsl:call-template name="status"/>
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>
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>
281 <xsl:template name="name">
282 <xsl:if test="@name">
283 <xsl:value-of select="@name"/>
287 <xsl:template match="warnings/warning" mode="hover">
288 <xsl:text>WARNING: </xsl:text>
289 <xsl:value-of select="@text"/>