変数$transformed_dateが毎回評価されるかどうか、またはこの変数が変数の影響 (C、Java など) と同じくらい良いかどうかを知る必要があります。同じことを何度も再評価しないようにしたい。
<xsl:variable name="transformed_date" select="adjust-dateTime-to-timezone(xs:dateTime(concat(substring ($original_date, 1, 4),'-',substring ($original_date, 5, 2),'-',substring ($original_date, 7, 2),'T',substring ($original_date, 9, 2),':',substring ($original_date, 11, 2),':',substring ($original_date, 13, 2),'-00:00')), xs:dayTimeDuration('-PT5H'))"/>
<xsl:choose>
<xsl:when test="substring (xs:string($transformed_date), 6, 2) = '01'">
<fo:inline>
Jan.
</fo:inline>
</xsl:when>
<xsl:when test="substring (xs:string($transformed_date), 6, 2) = '02'">
<fo:inline>
Feb.
</fo:inline>
</xsl:when>
...