condition
Find <Xsl> tag...Copy below template after dvt_opos param
<
xsl:template
name
=
"getDayDelta"
>
<
xsl:param
name
=
"paramDateA"
/>
<
xsl:param
name
=
"paramDateB"
/>
<
xsl:variable
name
=
"dateADays"
>
<
xsl:call-template
name
=
"countDaysInDateWithLeapYearDays"
>
<
xsl:with-param
name
=
"paramDate"
select
=
"$paramDateA"
/>
</
xsl:call-template
>
</
xsl:variable
>
<
xsl:variable
name
=
"dateBDays"
>
<
xsl:call-template
name
=
"countDaysInDateWithLeapYearDays"
>
<
xsl:with-param
name
=
"paramDate"
select
=
"$paramDateB"
/>
</
xsl:call-template
>
</
xsl:variable
>
<
xsl:value-of
select
=
"number($dateADays) - number($dateBDays)"
/>
</
xsl:template
>
<
xsl:template
name
=
"countDaysInDateWithLeapYearDays"
>
<
xsl:param
name
=
"paramDate"
/>
<
xsl:variable
name
=
"year"
select
=
"substring-before($paramDate,'-')"
/>
<
xsl:variable
name
=
"month"
select
=
"substring(substring-after($paramDate,'-'),1,2)"
/>
<
xsl:variable
name
=
"day"
select
=
"substring(substring-after(substring-after($paramDate,'-'),'-'),1,2)"
/>
<
xsl:variable
name
=
"rawYearDays"
select
=
"number($year) * 365"
/>
<
xsl:variable
name
=
"rawLeapYears"
select
=
"floor($year div 4)"
/>
<
xsl:variable
name
=
"centurySpan"
select
=
"floor($year div 100)"
/>
<
xsl:variable
name
=
"fourCenturySpan"
select
=
"floor($year div 400)"
/>
<
xsl:variable
name
=
"boolYearLeap"
>
<
xsl:call-template
name
=
"isLeapYear"
>
<
xsl:with-param
name
=
"paramYear"
select
=
"$year"
/>
</
xsl:call-template
>
</
xsl:variable
>
<
xsl:variable
name
=
"yearLeapAdjust"
>
<
xsl:choose
>
<
xsl:when
test
=
"$boolYearLeap = 1 and (($month = 1) or ($month = 2 and $day != 29))"
>-1</
xsl:when
>
<
xsl:otherwise
>0</
xsl:otherwise
>
</
xsl:choose
>
</
xsl:variable
>
<
xsl:variable
name
=
"yearDays"
select
=
"$rawYearDays + $rawLeapYears - $centurySpan + $fourCenturySpan + $yearLeapAdjust "
/>
<
xsl:variable
name
=
"monthDays"
>
<
xsl:call-template
name
=
"ConvertMonthToTotalDays"
>
<
xsl:with-param
name
=
"paramMonth"
select
=
"$month"
/>
</
xsl:call-template
>
</
xsl:variable
>
<
xsl:variable
name
=
"totalDays"
select
=
"$yearDays + number($monthDays) + number($day)"
/>
<
xsl:value-of
select
=
"$totalDays"
/>
</
xsl:template
>
<
xsl:template
name
=
"isLeapYear"
>
<
xsl:param
name
=
"paramYear"
/>
<
xsl:choose
>
<
xsl:when
test
=
"$paramYear mod 4 = 0 and ($paramYear mod 100 != 0) or ($paramYear mod 400 = 0)"
>1</
xsl:when
>
<
xsl:otherwise
>0</
xsl:otherwise
>
</
xsl:choose
>
</
xsl:template
>
<
xsl:template
name
=
"ConvertMonthToTotalDays"
>
<
xsl:param
name
=
"paramMonth"
/>
<
xsl:choose
>
<
xsl:when
test
=
"$paramMonth=01"
>0</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=02"
>31</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=03"
>59</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=04"
>90</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=05"
>120</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=06"
>151</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=07"
>181</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=08"
>212</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=09"
>243</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=10"
>273</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=11"
>304</
xsl:when
>
<
xsl:when
test
=
"$paramMonth=12"
>334</
xsl:when
>
</
xsl:choose
>
</
xsl:template
>
<xsl:variable name="DateDueDayDelta">
<xsl:call-template name="getDayDelta">
<xsl:with-param name="paramDateA" select="ddwrt:FormatDateTime(string($thisNode/@*[name()=current()/@Name]),1033,'yyyy-MM-dd')"/>
<xsl:with-param name="paramDateB" select="ddwrt:FormatDateTime(string(ddwrt:Today()),1033,'yyyy-MM-dd')"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$DateDueDayDelta<=0">
<xsl:attribute name="style">background-color:#FF0000;</xsl:attribute >
<xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>
</xsl:when>
<xsl:when test="$DateDueDayDelta >14">
<xsl:attribute name="style">background-color:#00FF00;</xsl:attribute >
<xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>
</xsl:when>
<xsl:when test="$DateDueDayDelta <='14' and $DateDueDayDelta >=1">
<xsl:attribute name="style">background-color:#FFFF00;</xsl:attribute >
<xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>
</xsl:when>
</xsl:choose>
Credits to https://thechriskent.com/tag/conditional-formatting/
Comments
Post a Comment