The adapter name is actually the GUID. Also store the human recognizable
[reactos.git] / cis / ReactOS.ApiStatus / rapistatus.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="html" indent="no"/>
5 <!-- <xsl:output method="xml"/>-->
6 <!-- Will not work: <xsl:strip-space elements="*"/> -->
7
8 <xsl:template match="/">
9 <HTML>
10 <HEAD>
11 <TITLE>
12 ReactOS API Status
13 </TITLE>
14 <SCRIPT src="rapistatus.js"></SCRIPT>
15 <LINK rel="stylesheet" type="text/css" href="rapistatus.css"></LINK>
16 </HEAD>
17 <BODY onLoad="onLoad();">
18 <P>
19 <H1>ReactOS API Status</H1>
20 </P>
21 <P>
22 <TABLE>
23 <TR>
24 <TD> <INPUT type="checkbox" ID="implemented" onClick="selectImplemented();" checked="1"/> </TD>
25 <TD> <IMG src="i.gif"/> </TD>
26 <TD> Implemented </TD>
27 <TD width="20"/>
28 </TR>
29 <TR>
30 <TD> <INPUT type="checkbox" ID="unimplemented" onClick="selectUnimplemented();" checked="1"/> </TD>
31 <TD> <IMG src="u.gif"/> </TD>
32 <TD> Unimplemented </TD>
33 <TD width="20"/>
34 </TR>
35 </TABLE>
36 </P>
37 <DIV ID="ROOT">
38 <xsl:apply-templates/>
39 </DIV>
40 <P>
41 Legend :<BR/>
42 <TABLE>
43 <TR>
44 <TD> <IMG src="c.gif"/> </TD>
45 <TD> Component </TD>
46 <TD> <IMG src="i.gif"/> </TD>
47 <TD> Implemented </TD>
48 <TD> <IMG src="sc.gif"/> </TD>
49 <TD> Complete </TD>
50 <TR>
51 </TR>
52 <TD> <IMG src="f.gif"/> </TD>
53 <TD> Function </TD>
54 <TD> <IMG src="u.gif"/> </TD>
55 <TD> Unimplemented </TD>
56 <TD></TD>
57 <TD></TD>
58 </TR>
59 </TABLE>
60
61 </P>
62 </BODY>
63 </HTML>
64 </xsl:template>
65
66
67 <!-- component -->
68 <xsl:template match="/components">
69 <xsl:apply-templates select="component">
70 <xsl:sort select="@name"/>
71 </xsl:apply-templates>
72 </xsl:template>
73
74 <xsl:template match="components/component[@implemented_total or @unimplemented_total]">
75 <DIV>
76 <xsl:call-template name="ELEMENT">
77 <xsl:with-param name="class">c</xsl:with-param>
78 </xsl:call-template>
79 <xsl:apply-templates>
80 <xsl:with-param name="base"><xsl:value-of select="@base"/></xsl:with-param>
81 </xsl:apply-templates>
82 </DIV>
83 </xsl:template>
84
85
86 <!-- function -->
87 <xsl:template match="functions">
88 <xsl:param name="base"/>
89 <xsl:apply-templates select="f">
90 <xsl:sort select="@n"/>
91 <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
92 </xsl:apply-templates>
93 </xsl:template>
94
95 <xsl:template match="functions/f">
96 <xsl:param name="base"/>
97 <DIV>
98 <xsl:call-template name="ELEMENT">
99 <xsl:with-param name="class">f</xsl:with-param>
100 <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
101 </xsl:call-template>
102 <xsl:apply-templates/>
103 </DIV>
104 </xsl:template>
105
106
107 <!-- support templates -->
108
109 <xsl:template name="ELEMENT">
110 <xsl:param name="class"/>
111 <xsl:param name="base"/>
112 <xsl:param name="image"/>
113 <xsl:attribute name="class">
114 <xsl:value-of select="$class"/>
115 <xsl:text>_</xsl:text>
116 </xsl:attribute>
117 <xsl:call-template name="toggle"/>
118 <xsl:choose>
119 <xsl:when test="local-name() != 'component' and @i = 'true'">
120 <img src="i.gif" class="i"/>
121 </xsl:when>
122 <xsl:when test="local-name() != 'component' and @i = 'false'">
123 <img src="u.gif" class="u"/>
124 </xsl:when>
125 <xsl:when test="local-name() = 'component' and @complete >= 100">
126 <img src="sc.gif"/>
127 </xsl:when>
128 <xsl:otherwise>
129 <xsl:value-of select="@i"/><img src="tb.gif" with="12" height="12"/>
130 </xsl:otherwise>
131 </xsl:choose>
132 <xsl:choose>
133 <xsl:when test="$image">
134 <img src="{$image}.gif" class="t"/>
135 </xsl:when>
136 <xsl:otherwise>
137 <img src="{$class}.gif" class="t"/>
138 </xsl:otherwise>
139 </xsl:choose>
140 <xsl:call-template name="name"/>
141 <xsl:call-template name="n"/>
142 <xsl:call-template name="file">
143 <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
144 </xsl:call-template>
145 <xsl:call-template name="status"/>
146 </xsl:template>
147
148 <xsl:template name="status">
149 <xsl:if test="@complete and @complete != 0">
150 <SPAN class="st">
151 <img src="sc.gif"/>
152 <xsl:text>: </xsl:text>
153 <xsl:value-of select="@complete"/>
154 <xsl:text>%</xsl:text>
155 </SPAN>
156 </xsl:if>
157 <xsl:if test="@implemented_total">
158 <SPAN class="st">
159 <img src="i.gif"/>: <xsl:value-of select="@implemented_total"/>
160 </SPAN>
161 </xsl:if>
162 <xsl:if test="@unimplemented_total">
163 <SPAN class="st">
164 <img src="u.gif"/>: <xsl:value-of select="@unimplemented_total"/>
165 </SPAN>
166 </xsl:if>
167 </xsl:template>
168
169 <xsl:template name="toggle">
170 <xsl:choose>
171 <xsl:when test="local-name() = 'component'">
172 <IMG src="tp.gif" class="t"/>
173 </xsl:when>
174 <xsl:otherwise>
175 <IMG src="tb.gif"/>
176 </xsl:otherwise>
177 </xsl:choose>
178 </xsl:template>
179
180 <xsl:template name="name">
181 <xsl:if test="@name">
182 <SPAN class="l"><xsl:value-of select="@name"/></SPAN>
183 </xsl:if>
184 </xsl:template>
185
186 <xsl:template name="n">
187 <xsl:if test="@n">
188 <SPAN class="l"><xsl:value-of select="@n"/></SPAN>
189 </xsl:if>
190 </xsl:template>
191
192 <xsl:template name="file">
193 <xsl:param name="base"/>
194 <xsl:if test="@f">
195 <SPAN class="h"><xsl:value-of select="$base"/><xsl:value-of select="@f"/></SPAN>
196 </xsl:if>
197 </xsl:template>
198
199 </xsl:stylesheet>