XSLT で変数への基本的な再割り当てを実行できるようにしたいと考えています。これはどのように達成できますか?
これを XSLT に変換できるようにしたいだけです (appendMonthWithZero() 関数を無視します)。
if(currentMonth + count > 12) //If we get past December onto a new year we need to reset the current month back to 01
{
currentMonth = (currentMonth + count) - 12; //e.g. 9 + 4 = 13, 13 - 12 = 1 (January). Or 9 + 11 = 20, 20 - 12 = 8 (August)
if(currentMonth < 10)
{
currentMonth = appendMonthWithZero();
}
}
これまでのところ、XSLT でこれを使用していますが、機能しません。私はこれを12回ループしているのでcurrentMonth
、他の変数の間で変更を続けたいと思っています:
<xsl:if test="$currentMonth + $count > 12">
<xsl:param name="currentMonth" select="($currentMonth + $count) - 12"/>
</xsl:if>
これは基本的に、疑似コードで全体的にやろうとしていることです( http://pastebin.com/WsaZaKnC ):
currentMonth = getCurrentMonth();
actualDateWithZero = appendMonthWithZero();
docs = getFlightResults();
monthsArray = ['Jan', 'Feb', 'Mar'.......];
for(count = 0; count < 12; count++)
{
outboundMonth = subString(doc[count+1].getOutboundMonth());
if(currentMonth + count > 12) //If we get past December onto a new year we need to reset the current month back to 01
{
currentMonth = (currentMonth + count) - 12; //e.g. 9 + 4 = 13, 13 - 12 = 1 (January). Or 9 + 11 = 20, 20 - 12 = 8 (August)
if(currentMonth < 10)
{
currentMonth = appendMonthWithZero();
}
}
//A price is available.
//Second check is for when we get past a new year
if(currentMonth + count == outboundBoundMonth || currentMonth == outboundMonth)
{
//Get rest of data from doc etc etc
//Set up divs etc etc
//Get string month with displayed Month [Jan, Feb, Mar....]
}
//Else no price available for this month
else
{
//display price not available
//Get string month with displayed Month [Jan, Feb, Mar....]
}
}