Дата время в xslt - PullRequest
       23

Дата время в xslt

0 голосов
/ 06 августа 2009

Привет, у меня есть XML-файл как:

<order><Extension Properties><Date>2009-08-04T17:09:04.593+05:30</Date></Extension  Properties></Order>

и я хочу вывод как

Дата создания 040809

Я хочу сделать это через xslt. Пожалуйста, помогите .. !!

Ответы [ 3 ]

1 голос
/ 06 августа 2009

Один из способов - использовать функции подстроки:

<xsl:variable name="d" select="/order/Extension/Date" />
Generation Date <xsl:value-of select="concat(
substring($d, 9, 2),
substring($d, 6, 2),
substring($d, 3, 2))"/>

Другие ответы могут зависеть от используемого вами механизма XSL. Например, если вы используете MSXML, вы можете использовать функции расширения datetime:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ms="urn:schemas-microsoft-com:xslt">
    <xsl:output method="xml" />

    <xsl:template match="/">

        <xsl:template match="Date">
        <xsl:variable name="d" select="/order/Extension/Date" />
        Generation Date
        <xsl:value-of select="ms:format-date($d, 'ddMMyy')"/>

    </xsl:template>

</xsl:stylesheet>

Удачи!

0 голосов
/ 06 августа 2009

Использование этого в качестве руководства ...

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <order>
      <xsl:element name="GenerationDate">
        <xsl:call-template name="FormatDate">
          <xsl:with-param name="DateTime" select="order/Extension/Date"/>
        </xsl:call-template>
      </xsl:element>
    </order>
  </xsl:template>

  <xsl:template name="FormatDate">
    <xsl:param name="DateTime" />
    <xsl:variable name="day">
      <xsl:value-of select="substring($DateTime,9,2)" />
    </xsl:variable>
    <xsl:variable name="month">
      <xsl:value-of select="substring($DateTime,6,2)" />
    </xsl:variable>
    <xsl:variable name="year">
      <xsl:value-of select="substring($DateTime,3,2)" />
    </xsl:variable>
    <xsl:value-of select="$day"/>
    <xsl:value-of select="$month"/>
    <xsl:value-of select="$year"/>
  </xsl:template>
</xsl:stylesheet>
0 голосов
/ 06 августа 2009
<xsl:variable name="dateString" select="order/Extension/Date/> (or something along those lines)

<xsl:value-of select="substring($date,9,10)"><xsl:value-of select="substring($date,6,7)"><xsl:value-of select="substring($date,1,4)">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...