blob: ba413e7034729e5013c8d2167c4412f4dd282a3d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output
method="html"
encoding="UTF-8" />
<xsl:key
name="cat"
match="category"
use="@name" />
<xsl:template match="/">
<xsl:for-each select="site">
<html>
<head>
<title>
Callisto Update Discovery Site
</title>
<style>@import url("web/site.css");</style>
</head>
<body>
<h2 class="title">Callisto Update Discovery Site</h2>
<p class="bodyText">
<xsl:value-of select="description" />
</p>
<table
width="100%"
border="0"
cellspacing="1"
cellpadding="2">
<xsl:for-each select="category-def">
<xsl:sort
select="@label"
order="ascending"
case-order="upper-first" />
<xsl:sort
select="@name"
order="ascending"
case-order="upper-first" />
<xsl:if
test="count(key('cat',@name)) != 0">
<tr class="header">
<td
class="sub-header"
width="30%">
<xsl:value-of select="@name" />
</td>
<td
class="sub-header"
width="70%">
<xsl:value-of select="@label" />
</td>
</tr>
<xsl:for-each
select="key('cat',@name)">
<xsl:sort
select="ancestor::feature//@version"
order="ascending" />
<xsl:sort
select="ancestor::feature//@id"
order="ascending"
case-order="upper-first" />
<tr>
<xsl:choose>
<xsl:when
test="(position() mod 2 = 1)">
<xsl:attribute
name="class">
dark-row
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute
name="class">
light-row
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td
class="log-text"
id="indent">
<xsl:choose>
<xsl:when
test="ancestor::feature//@label">
<p
href="{ancestor::feature//@url}">
<xsl:value-of
select="ancestor::feature//@label" />
</p>
<br />
<div id="indent">
(
<xsl:value-of
select="ancestor::feature//@id" />
-
<xsl:value-of
select="ancestor::feature//@version" />
)
</div>
</xsl:when>
<xsl:otherwise>
<p
href="{ancestor::feature//@url}">
<xsl:value-of
select="ancestor::feature//@id" />
-
<xsl:value-of
select="ancestor::feature//@version" />
</p>
</xsl:otherwise>
</xsl:choose>
<br />
</td>
<td>
<table>
<xsl:if
test="ancestor::feature//@os">
<tr>
<td
class="log-text"
id="indent">
Operating
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="ancestor::feature//@os" />
</td>
</tr>
</xsl:if>
<xsl:if
test="ancestor::feature//@ws">
<tr>
<td
class="log-text"
id="indent">
Windows
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="ancestor::feature//@ws" />
</td>
</tr>
</xsl:if>
<xsl:if
test="ancestor::feature//@nl">
<tr>
<td
class="log-text"
id="indent">
Languages:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="ancestor::feature//@nl" />
</td>
</tr>
</xsl:if>
<xsl:if
test="ancestor::feature//@arch">
<tr>
<td
class="log-text"
id="indent">
Architecture:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="ancestor::feature//@arch" />
</td>
</tr>
</xsl:if>
</table>
</td>
</tr>
</xsl:for-each>
<tr>
<td class="spacer">
<br />
</td>
<td class="spacer">
<br />
</td>
</tr>
</xsl:if>
</xsl:for-each>
<xsl:if
test="count(feature) &gt; count(feature/category)">
<tr class="header">
<td
class="sub-header"
colspan="2">
Uncategorized
</td>
</tr>
</xsl:if>
<xsl:choose>
<xsl:when
test="function-available('msxsl:node-set')">
<xsl:variable name="rtf-nodes">
<xsl:for-each
select="feature[not(category)]">
<xsl:sort
select="@id"
order="ascending"
case-order="upper-first" />
<xsl:sort
select="@version"
order="ascending" />
<xsl:value-of select="." />
<xsl:copy-of select="." />
</xsl:for-each>
</xsl:variable>
<xsl:variable
name="myNodeSet"
select="msxsl:node-set($rtf-nodes)/*" />
<xsl:for-each select="$myNodeSet">
<tr>
<xsl:choose>
<xsl:when
test="position() mod 2 = 1">
<xsl:attribute
name="class">
dark-row
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute
name="class">
light-row
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td
class="log-text"
id="indent">
<xsl:choose>
<xsl:when
test="@label">
<p href="{@url}">
<xsl:value-of
select="@label" />
</p>
<br />
<div id="indent">
(
<xsl:value-of
select="@id" />
-
<xsl:value-of
select="@version" />
)
</div>
</xsl:when>
<xsl:otherwise>
<p href="{@url}">
<xsl:value-of
select="@id" />
-
<xsl:value-of
select="@version" />
</p>
</xsl:otherwise>
</xsl:choose>
<br />
<br />
</td>
<td>
<table>
<xsl:if test="@os">
<tr>
<td
class="log-text"
id="indent">
Operating
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@os" />
</td>
</tr>
</xsl:if>
<xsl:if test="@ws">
<tr>
<td
class="log-text"
id="indent">
Windows
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@ws" />
</td>
</tr>
</xsl:if>
<xsl:if test="@nl">
<tr>
<td
class="log-text"
id="indent">
Languages:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@nl" />
</td>
</tr>
</xsl:if>
<xsl:if test="@arch">
<tr>
<td
class="log-text"
id="indent">
Architecture:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@arch" />
</td>
</tr>
</xsl:if>
</table>
</td>
</tr>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each
select="feature[not(category)]">
<xsl:sort
select="@id"
order="ascending"
case-order="upper-first" />
<xsl:sort
select="@version"
order="ascending" />
<tr>
<xsl:choose>
<xsl:when
test="count(preceding-sibling::feature[not(category)]) mod 2 = 1">
<xsl:attribute
name="class">
dark-row
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute
name="class">
light-row
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<td
class="log-text"
id="indent">
<xsl:choose>
<xsl:when
test="@label">
<p href="{@url}">
<xsl:value-of
select="@label" />
</p>
<br />
<div id="indent">
(
<xsl:value-of
select="@id" />
-
<xsl:value-of
select="@version" />
)
</div>
</xsl:when>
<xsl:otherwise>
<p href="{@url}">
<xsl:value-of
select="@id" />
-
<xsl:value-of
select="@version" />
</p>
</xsl:otherwise>
</xsl:choose>
<br />
<br />
</td>
<td>
<table>
<xsl:if test="@os">
<tr>
<td
class="log-text"
id="indent">
Operating
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@os" />
</td>
</tr>
</xsl:if>
<xsl:if test="@ws">
<tr>
<td
class="log-text"
id="indent">
Windows
Systems:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@ws" />
</td>
</tr>
</xsl:if>
<xsl:if test="@nl">
<tr>
<td
class="log-text"
id="indent">
Languages:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@nl" />
</td>
</tr>
</xsl:if>
<xsl:if test="@arch">
<tr>
<td
class="log-text"
id="indent">
Architecture:
</td>
<td
class="log-text"
id="indent">
<xsl:value-of
select="@arch" />
</td>
</tr>
</xsl:if>
</table>
</td>
</tr>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</table>
</body>
</html>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>