Commit 010ff2f9 authored by Kurt Maute's avatar Kurt Maute

Clean up indenting in the .xsl files



svn path=/trunk/; revision=846
parent 403146bd
......@@ -2,6 +2,14 @@
The following update provided by Maurice van der Pot <griffon26@kfk4ever.com>
* src/planner-gantt-row.c - allow dragging the completion bar in the
gantt chart
Clean up some of the indenting in the .xsl files:
* data/dtd/mrproject-0.6.dtd
* data/stylesheets/html1_tasks.xsl
* data/stylesheets/html1_css.xsl
* data/stylesheets/html1_resources.xsl
* data/stylesheets/msp2planner.xsl
* data/stylesheets/html1_gantt.xsl
* data/stylesheets/planner2html.xsl
2007-07-02 Kurt Maute <kurt@maute.us>
The following update provided by Maurice van der Pot <griffon26@kfk4ever.com>
......
......@@ -6,8 +6,8 @@
company CDATA #IMPLIED
manager CDATA #IMPLIED
project-start CDATA #REQUIRED
calendar CDATA #IMPLIED
phase CDATA #IMPLIED>
calendar CDATA #IMPLIED
phase CDATA #IMPLIED>
<!ELEMENT properties (property*)>
......@@ -56,7 +56,7 @@ Note: A mistake in the format design led to this suboptimality. A
effort CDATA #IMPLIED
start CDATA #REQUIRED
end CDATA #REQUIRED
work-start CDATA #IMPLIED
work-start CDATA #IMPLIED
duration CDATA #IMPLIED
work CDATA #IMPLIED
percent-complete CDATA #IMPLIED
......@@ -111,7 +111,7 @@ Note: A mistake in the format design led to this suboptimality. A
<!ELEMENT calendar (default-week,overridden-day-types?,days?,calendar*)>
<!ATTLIST calendar name CDATA #REQUIRED
id CDATA #REQUIRED>
id CDATA #REQUIRED>
<!ELEMENT default-week EMPTY>
<!ATTLIST default-week mon CDATA #IMPLIED
......
......@@ -95,7 +95,7 @@ a:hover[href] {
table {
width: 100%;
border-collapse: collapse;
border-collapse: collapse;
border-style: none;
border-color: #fff;
white-space: nowrap;
......
......@@ -4,7 +4,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
<!--
Copyright (c) 2004-2005 Imendio AB
......@@ -19,34 +19,34 @@
<xsl:choose>
<xsl:when test="date:day-in-week($date) = 2 and $days >= 7">
<th class="gantt-week-header" align="center" colspan="7">
<xsl:value-of select="I18N:gettext('Week')"/>&nbsp;<xsl:value-of select="date:week-in-year($date) + 1"/>, <xsl:value-of select="date:year($date)"/>
<xsl:value-of select="I18N:gettext('Week')"/>&nbsp;<xsl:value-of select="date:week-in-year($date) + 1"/>, <xsl:value-of select="date:year($date)"/>
</th>
<xsl:if test="not($days = 7)">
<xsl:call-template name="create-week-row">
<xsl:with-param name="days" select="$days - 7"/>
<xsl:with-param name="date" select="date:add($date, date:duration(604800))"/>
</xsl:call-template>
<xsl:with-param name="date" select="date:add($date, date:duration(604800))"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:when test="not($days >= 7)">
<th class="gantt-{$days}day-header" colspan="{$days}"></th>
<th></th>
</xsl:when>
<xsl:otherwise>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="colspan">
<xsl:choose>
<xsl:when test="date:day-in-week($date) = 1">1</xsl:when>
<xsl:otherwise>
<xsl:value-of select="9 - date:day-in-week($date)"/>
</xsl:otherwise>
</xsl:choose>
<xsl:when test="date:day-in-week($date) = 1">1</xsl:when>
<xsl:otherwise>
<xsl:value-of select="9 - date:day-in-week($date)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<th class="gantt-{$colspan}day-header" colspan="{$colspan}"></th>
<xsl:if test="$days > 1">
<xsl:call-template name="create-week-row">
<xsl:with-param name="days" select="$days - $colspan"/>
<xsl:with-param name="date" select="date:add($date, date:duration(86400 * $colspan))"/>
</xsl:call-template>
<xsl:with-param name="date" select="date:add($date, date:duration(86400 * $colspan))"/>
</xsl:call-template>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
......@@ -62,7 +62,7 @@
<xsl:when test="$days > 1">
<xsl:call-template name="create-day-row">
<xsl:with-param name="days" select="$days - 1"/>
<xsl:with-param name="date" select="date:add($date, date:duration(86400))"/>
<xsl:with-param name="date" select="date:add($date, date:duration(86400))"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
......@@ -127,57 +127,57 @@
<tr class="{$rowclass}">
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<xsl:choose>
<!-- Task has subtasks -->
<xsl:when test="task">
<a name="task-{@id}" style="white-space: nowrap; font-weight: bold; margin-left: {$indent*$task-indent-pixels}px;">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</xsl:when>
<!-- Task is leaf -->
<!-- Task has subtasks -->
<xsl:when test="task">
<a name="task-{@id}" style="white-space: nowrap; font-weight: bold; margin-left: {$indent*$task-indent-pixels}px;">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</xsl:when>
<!-- Task is leaf -->
<xsl:otherwise>
<a name="gantt-{@id}" style="white-space: nowrap; margin-left: {$indent*$task-indent-pixels}px;">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="@name"/>
</span>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<!-- Task has subtasks -->
<xsl:when test="task">
<span style="white-space: nowrap; font-weight: bold;">
<xsl:call-template name="mrproj-duration">
<td>
<xsl:choose>
<!-- Task has subtasks -->
<xsl:when test="task">
<span style="white-space: nowrap; font-weight: bold;">
<xsl:call-template name="mrproj-duration">
<xsl:with-param name="duration-in-seconds" select="@work"/>
</xsl:call-template>
</span>
</xsl:when>
<!-- Task is leaf -->
</xsl:call-template>
</span>
</xsl:when>
<!-- Task is leaf -->
<xsl:otherwise>
<span>
<xsl:call-template name="mrproj-duration">
<span>
<xsl:call-template name="mrproj-duration">
<xsl:with-param name="duration-in-seconds" select="@work"/>
</xsl:call-template>
</span>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:call-template>
</span>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
......@@ -191,14 +191,14 @@
<tr class="header" align="left">
<xsl:call-template name="create-week-row">
<xsl:with-param name="days" select="$days"/>
<xsl:with-param name="date" select="$projstart"/>
<xsl:with-param name="date" select="$projstart"/>
</xsl:call-template>
</tr>
<tr class="header" align="left">
<xsl:call-template name="create-day-row">
<xsl:with-param name="days" select="$days"/>
<xsl:with-param name="date" select="$projstart"/>
<xsl:with-param name="date" select="$projstart"/>
</xsl:call-template>
</tr>
......@@ -228,69 +228,69 @@
<xsl:variable name="task-complete" select="floor($task-end * (@percent-complete div 100))"/>
<tr class="{$rowclass}">
<td colspan="{$days + 1}">
<div style="width: {$days * 20 + 1}px; white-space: nowrap;">
<xsl:if test="not (task)">
<xsl:if test="$task-start > 0">
<xsl:choose>
<xsl:when test="@type = 'milestone'">
<div class="gantt-empty-begin" style="width: {$task-start - 4}px;"></div>
</xsl:when>
<xsl:otherwise>
<div class="gantt-empty-begin" style="width: {$task-start}px;"></div>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<td colspan="{$days + 1}">
<div style="width: {$days * 20 + 1}px; white-space: nowrap;">
<xsl:if test="not (task)">
<xsl:if test="$task-start > 0">
<xsl:choose>
<xsl:when test="@type = 'milestone'">
<div class="gantt-empty-begin" style="width: {$task-start - 4}px;"></div>
</xsl:when>
<xsl:otherwise>
<div class="gantt-empty-begin" style="width: {$task-start}px;"></div>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="$task-end > 0">
<div class="gantt-complete-notdone" style="width: {$task-end}px;">
<xsl:if test="$task-complete > 0">
<div class="gantt-complete-done" style="width: {$task-complete}px;"></div>
</xsl:if>
</div>
</xsl:if>
<xsl:choose>
<div class="gantt-complete-notdone" style="width: {$task-end}px;">
<xsl:if test="$task-complete > 0">
<div class="gantt-complete-done" style="width: {$task-complete}px;"></div>
</xsl:if>
</div>
</xsl:if>
<xsl:choose>
<xsl:when test="@type = 'milestone'">
<span class="gantt-milestone">&#9670;</span>
<span class="gantt-resources">
<xsl:variable name="task-id" select="@id"/>
<xsl:for-each select="/project/allocations/allocation[@task-id=$task-id]">
<xsl:sort data-type="number" select="@resource-id" order="descending"/>
<xsl:variable name="resource-id" select="@resource-id"/>
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@short-name"/>
<xsl:if test="not(position() = last())">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:variable name="task-id" select="@id"/>
<xsl:for-each select="/project/allocations/allocation[@task-id=$task-id]">
<xsl:sort data-type="number" select="@resource-id" order="descending"/>
<xsl:variable name="resource-id" select="@resource-id"/>
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@short-name"/>
<xsl:if test="not(position() = last())">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</xsl:when>
<xsl:otherwise>
<div class="gantt-empty-end"></div>
</xsl:when>
<xsl:otherwise>
<div class="gantt-empty-end"></div>
<span class="gantt-resources">
<xsl:variable name="task-id" select="@id"/>
<xsl:for-each select="/project/allocations/allocation[@task-id=$task-id]">
<xsl:sort data-type="number" select="@resource-id" order="descending"/>
<xsl:variable name="resource-id" select="@resource-id"/>
<xsl:variable name="task-id" select="@id"/>
<xsl:for-each select="/project/allocations/allocation[@task-id=$task-id]">
<xsl:sort data-type="number" select="@resource-id" order="descending"/>
<xsl:variable name="resource-id" select="@resource-id"/>
<xsl:choose>
<xsl:when test="/project/resources/resource[@id=$resource-id]/@short-name = ''">
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@short-name"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="not(position() = last())">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:choose>
<xsl:when test="/project/resources/resource[@id=$resource-id]/@short-name = ''">
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/project/resources/resource[@id=$resource-id]/@short-name"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="not(position() = last())">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</div>
</div>
</td>
</tr>
</xsl:for-each>
......
......@@ -4,7 +4,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
<!--**************************************************************************
*
......@@ -40,14 +40,14 @@
</tr>
<xsl:for-each select="../resources/resource">
<xsl:sort select="@type"/>
<xsl:sort select="@name"/>
<xsl:sort select="@type"/>
<xsl:sort select="@name"/>
<xsl:call-template name="resource-row">
<xsl:with-param name="hasnotes" select="$hasnotes"/>
</xsl:call-template>
</xsl:call-template>
</xsl:for-each>
</xsl:for-each>
</table>
</div>
</xsl:template>
......@@ -58,56 +58,56 @@
<xsl:variable name="rid" select="@id"/>
<xsl:variable name="gid" select="@group"/>
<xsl:variable name="rowclass">
<xsl:variable name="rowclass">
<xsl:choose>
<xsl:when test="(position() mod 2) = 0">even</xsl:when>
<xsl:otherwise>odd</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<tr class="{$rowclass}">
<tr class="{$rowclass}">
<td>
<a name="res-{@id}">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</td>
<td>
<td>
<span>
<xsl:value-of select="@short-name"/>
</span>
<xsl:value-of select="@short-name"/>
</span>
</td>
<td>
<span>
<xsl:choose>
<xsl:choose>
<xsl:when test="@type = 1"><xsl:value-of select="I18N:gettext('Work')"/></xsl:when>
<xsl:otherwise><xsl:value-of select="I18N:gettext('Material')"/></xsl:otherwise>
</xsl:choose>
</span>
</span>
</td>
<td>
<span>
<xsl:value-of select="../../resource-groups/group[@id=$gid]/@name"/>
</span>
</td>
<td>
<span>
<xsl:value-of select="../../resource-groups/group[@id=$gid]/@name"/>
</span>
</td>
<td>
<a href="mailto:{@email}">
<span>
<xsl:value-of select="@email"/>
</span>
<xsl:value-of select="@email"/>
</span>
</a>
</td>
<td align="right">
<span>
<xsl:value-of select="@std-rate"/>
</span>
<xsl:value-of select="@std-rate"/>
</span>
</td>
<xsl:if test="$hasnotes">
<td>
<span>
<xsl:value-of select="@note"/>
</span>
<xsl:value-of select="@note"/>
</span>
</td>
</xsl:if>
</tr>
......
......@@ -4,7 +4,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
xmlns:I18N="http://www.gnu.org/software/gettext/" extension-element-prefixes="I18N">
<!--
Copyright (C) 2004-2005 Imendio AB
......@@ -22,18 +22,18 @@
<xsl:choose>
<xsl:when test="$level = 0">0</xsl:when>
<xsl:otherwise>
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<xsl:with-param name="std-rates" select="$std-rates"/>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="$level - 1"/>
<xsl:with-param name="work" select="$work"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="std-rate" select="$std-rates[position()=$level]"/>
<xsl:variable name="unit" select="$units[position()=$level] div 100"/>
<xsl:value-of select="($std-rate * $unit * $work) + $cost"/>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="$level - 1"/>
<xsl:with-param name="work" select="$work"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="std-rate" select="$std-rates[position()=$level]"/>
<xsl:variable name="unit" select="$units[position()=$level] div 100"/>
<xsl:value-of select="($std-rate * $unit * $work) + $cost"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
......@@ -81,53 +81,53 @@
<xsl:variable name="tname">
</xsl:variable>
<xsl:variable name="rowclass">
<xsl:variable name="rowclass">
<xsl:choose>
<xsl:when test="(position() mod 2) = 0">even</xsl:when>
<xsl:otherwise>odd</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:choose>
<xsl:when test="task">
<tr class="{$rowclass}">
<tr class="{$rowclass}">
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<a name="task{@id}" style="font-weight: bold; margin-left: {$indent*$task-indent-pixels}px">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</td>
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</td>
<td>
<span>
<xsl:value-of select="date:month-abbreviation($start_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($start_date)"/>
</span>
<xsl:value-of select="date:month-abbreviation($start_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($start_date)"/>
</span>
</td>
<td>
<span>
<xsl:value-of select="date:month-abbreviation($end_date)"/>
<xsl:text> </xsl:text>
<span>
<xsl:value-of select="date:month-abbreviation($end_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($end_date)"/>
</span>
</td>
</span>
</td>
<td>
<span>
<xsl:call-template name="mrproj-duration">
<xsl:call-template name="mrproj-duration">
<xsl:with-param name="duration-in-seconds" select="@work"/>
</xsl:call-template>
</span>
</span>
</td>
<td>
</td>
......@@ -135,62 +135,62 @@
</td>
<td>
<span>
<xsl:variable name="std-rates" select="/project/resources/resource[@id=/project/allocations/allocation[@task-id=$tid]/@resource-id]/@std-rate"/>
<xsl:variable name="units" select="/project/allocations/allocation[@task-id=$tid]/@units"/>
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<xsl:variable name="std-rates" select="/project/resources/resource[@id=/project/allocations/allocation[@task-id=$tid]/@resource-id]/@std-rate"/>
<xsl:variable name="units" select="/project/allocations/allocation[@task-id=$tid]/@units"/>
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<xsl:with-param name="std-rates" select="$std-rates"/>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="count($std-rates)"/>
<xsl:with-param name="work" select="@work div 3600"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="not($cost = 0)">
<xsl:value-of select="format-number($cost, '###,###,###,###.##')"/>
</xsl:if>
</span>
</td>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="count($std-rates)"/>
<xsl:with-param name="work" select="@work div 3600"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="not($cost = 0)">
<xsl:value-of select="format-number($cost, '###,###,###,###.##')"/>
</xsl:if>
</span>
</td>
<xsl:if test="$hasnotes">
<td>
<span class="note">
<xsl:value-of select="@note"/>
</span>
</span>
</td>
</xsl:if>
</tr>
</xsl:when>
<xsl:when test="@type='milestone'">
</xsl:when>
<xsl:when test="@type='milestone'">
<tr class="{$rowclass}">
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<span>
<xsl:for-each select="ancestor-or-self::task">
<xsl:value-of select="count(preceding-sibling::task) + 1"/>
<xsl:if test="not(position() = last())">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:for-each>
</span>
</td>
<td>
<a name="task{@id}" style="margin-left: {$indent*$task-indent-pixels}px">
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</td>
<span>
<xsl:value-of select="@name"/>
</span>
</a>
</td>
<td>
<span>
<xsl:value-of select="date:month-abbreviation($start_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($start_date)"/>
</span>
</td>
<xsl:value-of select="date:month-abbreviation($start_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($start_date)"/>
</span>
</td>
<td>
<span>
<xsl:value-of select="date:month-abbreviation($end_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($end_date)"/>
</span>
<span>
<xsl:value-of select="date:month-abbreviation($end_date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:day-in-month($end_date)"/>
</span>
</td>
<td>
</td>
......@@ -199,27 +199,27 @@
<td>
</td>
<td>
<span>
<xsl:variable name="std-rates" select="/project/resources/resource[@id=/project/allocations/allocation[@task-id=$tid]/@resource-id]/@std-rate"/>
<xsl:variable name="units" select="/project/allocations/allocation[@task-id=$tid]/@units"/>
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<span>
<xsl:variable name="std-rates" select="/project/resources/resource[@id=/project/allocations/allocation[@task-id=$tid]/@resource-id]/@std-rate"/>
<xsl:variable name="units" select="/project/allocations/allocation[@task-id=$tid]/@units"/>
<xsl:variable name="cost">
<xsl:call-template name="calculate-cost">
<xsl:with-param name="std-rates" select="$std-rates"/>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="count($std-rates)"/>
<xsl:with-param name="work" select="@work div 3600"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="not($cost = 0)">
<xsl:value-of select="format-number($cost, '###,###,###,###.##')"/>
</xsl:if>
</span>
</td>
<xsl:with-param name="units" select="$units"/>
<xsl:with-param name="level" select="count($std-rates)"/>
<xsl:with-param name="work" select="@work div 3600"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="not($cost = 0)">
<xsl:value-of select="format-number($cost, '###,###,###,###.##')"/>
</xsl:if>
</span>
</td>
<xsl:if test="$hasnotes">
<td>
<span class="note">
<xsl:value-of select="@note"/>
</span>
<xsl:value-of select="@note"/>
</span>
</td>
</xsl:if>
</tr>
......@@ -227,77 +227,77 @@
<xsl:otherwise>