sascha@2493: <?xml version="1.0" encoding="UTF-8"?>
sascha@2493: <xsl:stylesheet
sascha@2493:   version="1.0"
sascha@2493:   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
sascha@2493: 
sascha@2493:   <xsl:output method="html" encoding="UTF-8"/>
sascha@2493: 
sascha@2493:   <xsl:param name="project-uuid">de3f3307-3429-4ff9-8f43-3fb2fcf21b27</xsl:param>
sascha@2493:   <xsl:param name="render-checkboxes" select="true()"/>
raimund@2505:   <xsl:param name="callback"/>
sascha@2493: 
sascha@2493:   <xsl:template name="percent">
sascha@2493:     <xsl:param name="sector"/>
sascha@2493:     <xsl:variable name="rfrom" select="number(/fixings/river/@from)"/>
sascha@2493:     <xsl:variable name="rto" select="number(/fixings/river/@to)"/>
sascha@2493:     <xsl:variable name="rlength" select="$rto - $rfrom"/>
sascha@2493: 
sascha@2493:     <xsl:variable name="sfrom" select="number($sector/@from)"/>
sascha@2493:     <xsl:variable name="sto" select="number($sector/@to)"/>
sascha@2493:     <xsl:variable name="slength" select="$sto - $sfrom"/>
sascha@2493:     <xsl:value-of select="100.0 * ($slength div $rlength)"/>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template name="emit-gap">
sascha@2493:     <xsl:param name="sector"/>
sascha@2493:     <xsl:variable name="preds" select="$sector/preceding-sibling::sector"/>
sascha@2493:     <xsl:variable name="num-preds" select="count($preds)"/>
sascha@2493:     <xsl:variable name="glength">
sascha@2493:       <xsl:choose>
sascha@2493:         <xsl:when test="$num-preds &lt; 1">
sascha@2493:           <xsl:variable name="rfrom" select="number(/fixings/river/@from)"/>
sascha@2493:           <xsl:value-of select="number($sector/@from) - $rfrom"/>
sascha@2493:         </xsl:when>
sascha@2493:         <xsl:otherwise>
sascha@2493:           <xsl:variable name="bend" select="number($preds[last()]/@to)"/>
sascha@2493:           <xsl:value-of select="number($sector/@from) - $bend"/>
sascha@2493:         </xsl:otherwise>
sascha@2493:       </xsl:choose>
sascha@2493:     </xsl:variable>
sascha@2493:     <xsl:choose>
sascha@2493:       <xsl:when test="number($glength) &lt; 0.05 "/>
sascha@2493:       <xsl:otherwise>
sascha@2493:         <div>
sascha@2493:           <xsl:attribute name="style">
sascha@2493:             <xsl:text>width:</xsl:text>
sascha@2493:               <xsl:variable name="rfrom" select="number(/fixings/river/@from)"/>
sascha@2493:               <xsl:variable name="rto" select="number(/fixings/river/@to)"/>
sascha@2493:               <xsl:variable name="rlength" select="$rto - $rfrom"/>
sascha@2493:               <xsl:value-of select="100.0 * ($glength div $rlength)"/>
sascha@2493:             <xsl:text>%;float:left</xsl:text>
sascha@2493:           </xsl:attribute>
sascha@2493:           <xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
sascha@2493:         </div>
sascha@2493:       </xsl:otherwise>
sascha@2493:     </xsl:choose>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template match="sector" mode="sectors">
sascha@2493:     <xsl:call-template name="emit-gap">
sascha@2493:       <xsl:with-param name="sector" select="."/>
sascha@2493:     </xsl:call-template>
sascha@2493:     <div>
sascha@2493:       <xsl:attribute name="style">
sascha@2493:         <xsl:text>background:</xsl:text>
sascha@2493:         <xsl:choose>
sascha@2493:           <xsl:when test="@class = '0'">green</xsl:when>
sascha@2493:           <xsl:when test="@class = '1'">blue</xsl:when>
sascha@2493:           <xsl:when test="@class = '2'">magenta</xsl:when>
sascha@2493:           <xsl:when test="@class = '3'">red</xsl:when>
sascha@2493:           <xsl:otherwise>black</xsl:otherwise>
sascha@2493:         </xsl:choose>
sascha@2493:         <xsl:text>;width:</xsl:text>
sascha@2493:         <xsl:call-template name="percent">
sascha@2493:           <xsl:with-param name="sector" select="."/>
sascha@2493:         </xsl:call-template>
sascha@2493:         <xsl:text>%</xsl:text>
sascha@2493:         <xsl:text>;float:left</xsl:text>
sascha@2493:       </xsl:attribute>
sascha@2493:       <xsl:attribute name="title">
sascha@2493:         <xsl:text>km </xsl:text>
sascha@2493:         <xsl:value-of select="@from"/>
sascha@2493:         <xsl:text> - </xsl:text>
sascha@2493:         <xsl:value-of select="@to"/>
sascha@2531:         <xsl:choose>
sascha@2531:           <xsl:when test="@class = '0'"> / Q &#8712; [0, (MNQ+MQ)/2) </xsl:when>
sascha@2531:           <xsl:when test="@class = '1'"> / Q &#8712; [(MNQ+MQ)/2, (MQ+MHQ)/2)</xsl:when>
sascha@2531:           <xsl:when test="@class = '2'"> / Q &#8712; [(MQ+MHQ)/2, HQ5)</xsl:when>
sascha@2531:           <xsl:when test="@class = '3'"> / Q &#8712; [HQ5, &#8734;)</xsl:when>
sascha@2531:         </xsl:choose>
sascha@2493:       </xsl:attribute>
sascha@2493:       <xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
sascha@2493:     </div>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template match="event">
raimund@2505:     <tr id="{@cid}">
sascha@2493:       <xsl:if test="$render-checkboxes">
sascha@2493:         <td>
raimund@2505:           <input type="checkbox" name="{$project-uuid}:{@cid}" onclick="{$callback}"/>
sascha@2493:         </td>
sascha@2493:       </xsl:if>
sascha@2493:       <td>
sascha@2493:         <xsl:apply-templates mode="sectors"/>
sascha@2493:       </td>
sascha@2493:       <td align="center">
sascha@2530:         <xsl:attribute name="title"><xsl:value-of select="@description"/></xsl:attribute>
sascha@2493:         <xsl:value-of select="@date"/>
sascha@2493:       </td>
sascha@2493:     </tr>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template match="events">
sascha@2493:     <table width="95%" border="1" cellspacing="0" cellpadding="0"
sascha@2493:            style="font-size: 11pt;font-family:Arial;Verdana,sans-serif">
sascha@2493:       <colgroup>
sascha@2493:         <xsl:if test="$render-checkboxes">
raimund@2505:             <col width="20px"/>
sascha@2493:         </xsl:if>
sascha@2493:         <col width="*"/>
raimund@2505:         <col width="90px"/>
sascha@2493:       </colgroup>
sascha@2493:       <xsl:apply-templates/>
sascha@2493:     </table>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template match="/">
sascha@2493:     <xsl:apply-templates/>
sascha@2493:   </xsl:template>
sascha@2493: 
sascha@2493:   <xsl:template match="text()"/>
sascha@2493:   <xsl:template match="text()" mode="sectors"/>
sascha@2493: 
sascha@2493: </xsl:stylesheet>