Форматированная дата в атрибуте с использованием XSLT - PullRequest
2 голосов
/ 08 июня 2011

Я смотрю на добавление тега заголовка к элементу с форматированной датой из атрибута.Входное значение имеет формат DateTime UTC, и мне необходимо выводить его в «симпатичном формате».

У меня есть шаблон, который преобразует значение.Однако я не могу понять, как вызвать этот шаблон при помещении значения в атрибут.

  <xsl:template name="formatDate">
    <xsl:param name="dateTime" />
    <xsl:variable name="date" select="substring-before($dateTime, 'T')" />
    <xsl:variable name="year" select="substring-before($date, '-')" />
    <xsl:variable name="month" select="substring-before(substring-after($date, '-'), '-')" />
    <xsl:variable name="day" select="substring-after(substring-after($date, '-'), '-')" />
    <xsl:value-of select="concat($month, '-', $day, '-', $year)" />
  </xsl:template>

Ответы [ 3 ]

1 голос
/ 08 июня 2011

Если вы намерены повторно использовать то же значение, вы также можете сделать:

<xsl:variable name="title">
  <xsl:call-template name="formatDate">
    <xsl:with-param name="dateTime" select="@lastReported" />
  </xsl:call-template>
</xsl:variable>

<dummy titile="{$title}"/>
1 голос
/ 08 июня 2011

Если вы используете XSLT 2.0, вы можете пропустить вызов шаблона все вместе и использовать format-dateTime():

<foo title="{format-dateTime(@lastReported,'[M]-[D]-[Y]')}"/>
1 голос
/ 08 июня 2011
<xsl:attribute name="title">
  <xsl:call-template name="formatDate">
    <xsl:with-param name="dateTime" select="@lastReported" />
  </xsl:call-template>
</xsl:attribute>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...