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 < 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) < 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[ ]]></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 ∈ [0, (MNQ+MQ)/2) </xsl:when> sascha@2531: <xsl:when test="@class = '1'"> / Q ∈ [(MNQ+MQ)/2, (MQ+MHQ)/2)</xsl:when> sascha@2531: <xsl:when test="@class = '2'"> / Q ∈ [(MQ+MHQ)/2, HQ5)</xsl:when> sascha@2531: <xsl:when test="@class = '3'"> / Q ∈ [HQ5, ∞)</xsl:when> sascha@2531: </xsl:choose> sascha@2493: </xsl:attribute> sascha@2493: <xsl:text disable-output-escaping="yes"><![CDATA[ ]]></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>