Home | History | Annotate | Download | only in web
      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>update-site</title>
      9 	<style>@import url("web/site.css");</style>
     10 	</head>
     11 	<body>
     12 	<h1 class="title">update-site</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>
    215