sysmodelmgr/com.symbian.smt.updatesite/web/site.xsl
changeset 0 522a326673b6
equal deleted inserted replaced
-1:000000000000 0:522a326673b6
       
     1 <xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl="urn:schemas-microsoft-com:xslt">
       
     2 <xsl:output method="html" encoding="UTF-8"/>
       
     3 <xsl:key name="cat" match="category" use="@name"/>
       
     4 <xsl:template match="/">
       
     5 <xsl:for-each select="site">
       
     6 	<html>
       
     7 	<head>
       
     8 	<title>com.symbian.smt.updatesite</title>
       
     9 	<style>@import url("web/site.css");</style>
       
    10 	</head>
       
    11 	<body>
       
    12 	<h1 class="title">com.symbian.smt.updatesite</h1>
       
    13 	<p class="bodyText"><xsl:value-of select="description"/></p>
       
    14 	<table width="100%" border="0" cellspacing="1" cellpadding="2">
       
    15 	<xsl:for-each select="category-def">
       
    16 		<xsl:sort select="@label" order="ascending" case-order="upper-first"/>
       
    17 		<xsl:sort select="@name" order="ascending" case-order="upper-first"/>
       
    18 	<xsl:if test="count(key('cat',@name)) != 0">
       
    19 			<tr class="header">
       
    20 				<td class="sub-header" width="30%">
       
    21 					<xsl:value-of select="@name"/>
       
    22 				</td>
       
    23 				<td class="sub-header" width="70%">
       
    24 					<xsl:value-of select="@label"/>
       
    25 				</td>
       
    26 			</tr>
       
    27 			<xsl:for-each select="key('cat',@name)">
       
    28 			<xsl:sort select="ancestor::feature//@version" order="ascending"/>
       
    29 			<xsl:sort select="ancestor::feature//@id" order="ascending" case-order="upper-first"/>
       
    30 			<tr>
       
    31 				<xsl:choose>
       
    32 				<xsl:when test="(position() mod 2 = 1)">
       
    33 					<xsl:attribute name="class">dark-row</xsl:attribute>
       
    34 				</xsl:when>
       
    35 				<xsl:otherwise>
       
    36 					<xsl:attribute name="class">light-row</xsl:attribute>
       
    37 				</xsl:otherwise>
       
    38 				</xsl:choose>
       
    39 				<td class="log-text" id="indent">
       
    40 						<xsl:choose>
       
    41 						<xsl:when test="ancestor::feature//@label">
       
    42 							<a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@label"/></a>
       
    43 							<br/>
       
    44 							<div id="indent">
       
    45 							(<xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/>)
       
    46 							</div>
       
    47 						</xsl:when>
       
    48 						<xsl:otherwise>
       
    49 						<a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/></a>
       
    50 						</xsl:otherwise>
       
    51 						</xsl:choose>
       
    52 						<br />
       
    53 				</td>
       
    54 				<td>
       
    55 					<table>
       
    56 						<xsl:if test="ancestor::feature//@os">
       
    57 							<tr><td class="log-text" id="indent">Operating Systems:</td>
       
    58 							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@os"/></td>
       
    59 							</tr>
       
    60 						</xsl:if>
       
    61 						<xsl:if test="ancestor::feature//@ws">
       
    62 							<tr><td class="log-text" id="indent">Windows Systems:</td>
       
    63 							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@ws"/></td>
       
    64 							</tr>
       
    65 						</xsl:if>
       
    66 						<xsl:if test="ancestor::feature//@nl">
       
    67 							<tr><td class="log-text" id="indent">Languages:</td>
       
    68 							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@nl"/></td>
       
    69 							</tr>
       
    70 						</xsl:if>
       
    71 						<xsl:if test="ancestor::feature//@arch">
       
    72 							<tr><td class="log-text" id="indent">Architecture:</td>
       
    73 							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@arch"/></td>
       
    74 							</tr>
       
    75 						</xsl:if>
       
    76 					</table>
       
    77 				</td>
       
    78 			</tr>
       
    79 			</xsl:for-each>
       
    80 			<tr><td class="spacer"><br/></td><td class="spacer"><br/></td></tr>
       
    81 		</xsl:if>
       
    82 	</xsl:for-each>
       
    83 	<xsl:if test="count(feature)  &gt; count(feature/category)">
       
    84 	<tr class="header">
       
    85 		<td class="sub-header" colspan="2">
       
    86 		Uncategorized
       
    87 		</td>
       
    88 	</tr>
       
    89 	</xsl:if>
       
    90 	<xsl:choose>
       
    91 	<xsl:when test="function-available('msxsl:node-set')">
       
    92 	   <xsl:variable name="rtf-nodes">
       
    93 		<xsl:for-each select="feature[not(category)]">
       
    94 			<xsl:sort select="@id" order="ascending" case-order="upper-first"/>
       
    95 			<xsl:sort select="@version" order="ascending" />
       
    96 			<xsl:value-of select="."/>
       
    97 			<xsl:copy-of select="." />
       
    98 		</xsl:for-each>
       
    99 	   </xsl:variable>
       
   100 	   <xsl:variable name="myNodeSet" select="msxsl:node-set($rtf-nodes)/*"/>
       
   101 	<xsl:for-each select="$myNodeSet">
       
   102 	<tr>
       
   103 		<xsl:choose>
       
   104 		<xsl:when test="position() mod 2 = 1">
       
   105 		<xsl:attribute name="class">dark-row</xsl:attribute>
       
   106 		</xsl:when>
       
   107 		<xsl:otherwise>
       
   108 		<xsl:attribute name="class">light-row</xsl:attribute>
       
   109 		</xsl:otherwise>
       
   110 		</xsl:choose>
       
   111 		<td class="log-text" id="indent">
       
   112 			<xsl:choose>
       
   113 			<xsl:when test="@label">
       
   114 				<a href="{@url}"><xsl:value-of select="@label"/></a>
       
   115 				<br />
       
   116 				<div id="indent">
       
   117 				(<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>)
       
   118 				</div>
       
   119 			</xsl:when>
       
   120 			<xsl:otherwise>
       
   121 				<a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a>
       
   122 			</xsl:otherwise>
       
   123 			</xsl:choose>
       
   124 			<br /><br />
       
   125 		</td>
       
   126 		<td>
       
   127 			<table>
       
   128 				<xsl:if test="@os">
       
   129 					<tr><td class="log-text" id="indent">Operating Systems:</td>
       
   130 					<td class="log-text" id="indent"><xsl:value-of select="@os"/></td>
       
   131 					</tr>
       
   132 				</xsl:if>
       
   133 				<xsl:if test="@ws">
       
   134 					<tr><td class="log-text" id="indent">Windows Systems:</td>
       
   135 					<td class="log-text" id="indent"><xsl:value-of select="@ws"/></td>
       
   136 					</tr>
       
   137 				</xsl:if>
       
   138 				<xsl:if test="@nl">
       
   139 					<tr><td class="log-text" id="indent">Languages:</td>
       
   140 					<td class="log-text" id="indent"><xsl:value-of select="@nl"/></td>
       
   141 					</tr>
       
   142 				</xsl:if>
       
   143 				<xsl:if test="@arch">
       
   144 					<tr><td class="log-text" id="indent">Architecture:</td>
       
   145 					<td class="log-text" id="indent"><xsl:value-of select="@arch"/></td>
       
   146 					</tr>
       
   147 				</xsl:if>
       
   148 			</table>
       
   149 		</td>
       
   150 	</tr>
       
   151 	</xsl:for-each>
       
   152 	</xsl:when>
       
   153 	<xsl:otherwise>
       
   154 	<xsl:for-each select="feature[not(category)]">
       
   155 	<xsl:sort select="@id" order="ascending" case-order="upper-first"/>
       
   156 	<xsl:sort select="@version" order="ascending" />
       
   157 	<tr>
       
   158 		<xsl:choose>
       
   159 		<xsl:when test="count(preceding-sibling::feature[not(category)]) mod 2 = 1">
       
   160 		<xsl:attribute name="class">dark-row</xsl:attribute>
       
   161 		</xsl:when>
       
   162 		<xsl:otherwise>
       
   163 		<xsl:attribute name="class">light-row</xsl:attribute>
       
   164 		</xsl:otherwise>
       
   165 		</xsl:choose>
       
   166 		<td class="log-text" id="indent">
       
   167 			<xsl:choose>
       
   168 			<xsl:when test="@label">
       
   169 				<a href="{@url}"><xsl:value-of select="@label"/></a>
       
   170 				<br />
       
   171 				<div id="indent">
       
   172 				(<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>)
       
   173 				</div>
       
   174 			</xsl:when>
       
   175 			<xsl:otherwise>
       
   176 				<a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a>
       
   177 			</xsl:otherwise>
       
   178 			</xsl:choose>
       
   179 			<br /><br />
       
   180 		</td>
       
   181 		<td>
       
   182 			<table>
       
   183 				<xsl:if test="@os">
       
   184 					<tr><td class="log-text" id="indent">Operating Systems:</td>
       
   185 					<td class="log-text" id="indent"><xsl:value-of select="@os"/></td>
       
   186 					</tr>
       
   187 				</xsl:if>
       
   188 				<xsl:if test="@ws">
       
   189 					<tr><td class="log-text" id="indent">Windows Systems:</td>
       
   190 					<td class="log-text" id="indent"><xsl:value-of select="@ws"/></td>
       
   191 					</tr>
       
   192 				</xsl:if>
       
   193 				<xsl:if test="@nl">
       
   194 					<tr><td class="log-text" id="indent">Languages:</td>
       
   195 					<td class="log-text" id="indent"><xsl:value-of select="@nl"/></td>
       
   196 					</tr>
       
   197 				</xsl:if>
       
   198 				<xsl:if test="@arch">
       
   199 					<tr><td class="log-text" id="indent">Architecture:</td>
       
   200 					<td class="log-text" id="indent"><xsl:value-of select="@arch"/></td>
       
   201 					</tr>
       
   202 				</xsl:if>
       
   203 			</table>
       
   204 		</td>
       
   205 	</tr>
       
   206 	</xsl:for-each>
       
   207 	</xsl:otherwise>
       
   208 	</xsl:choose>
       
   209 	</table>
       
   210 	</body>
       
   211 	</html>
       
   212 </xsl:for-each>
       
   213 </xsl:template>
       
   214 </xsl:stylesheet>