你需要考虑你在问什么。XSLT 无法知道 01/FEB/91 是指 01-02-1991 还是 01-02-2091 还是 01-02-1891。您需要决定截止年份在哪里。
您可以在 2013 年截止并执行以下操作:
<xsl:variable name="longYear"
select="$shortYear + 2000 - (100 * ($shortYear > 13))" />
这将导致小于或等于 13 的年份为 20XX,大于 13 的年份为 19XX。
在它自己的模板中:
<xsl:template name="LongYear">
<xsl:param name="shortYear" select="." />
<xsl:param name="cutoff" select="13" />
<xsl:value-of select="$shortYear + 2000 - (100 * ($shortYear > $cutoff))" />
</xsl:template>
您可以调用它:
<xsl:call-template name="LongYear">
<xsl:with-param name="shortYear" select="substring(Date, 8, 2)" />
</xsl:call-template>