Русские месяцы средствами XSLT
Материал из Umicms
Задача: Средствами XSLT выводить названия месяцев на русском языке.
Реализация:
Напишем шаблон, в котором на основе принятого трех-символьного обозначения месяца, будет выводиться полное название месяца на русском:
<xsl:template name="ru_month">
<xsl:param name="month_eng"/>
<xsl:variable name="translating" select="string('Jan6ЯнварьFeb7ФевральMar4МартApr6АпрельMay3МайJun4ИюньJul4ИюльAug6АвгустSep8СентябрьOct7ОктябрьNov6НоябрьDec7Декабрь')"/>
<xsl:variable name="string_after"
select="substring-after($translating, $month_eng)"/>
<xsl:variable name="count" select="number(substring($string_after, 1, 1))"/>
<xsl:value-of select="substring($string_after, 2, $count)"/>
</xsl:template>
Данный шаблон принимает параметр «month_eng» – трех-символьное обозначение месяца на английском. В переменной «translating» содержится перевод названия каждого месяца и его количество символов.
Пример:
Вызовем шаблон и передадим ему в качестве параметра текущий месяц.
<xsl:call-template name="ru_month">
<xsl:with-param name="month_eng" select="document('udata://system/convertDate/now/(M)')/udata"/>
</xsl:call-template>