如何在XSL中拆分/分割字符串?

时间:2012-03-25 15:17:12

标签: xslt split

这是我的代码,唯一不起作用的是我得到这样的时间:

2012-03-24T15:00:00+00:00

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>

  <table border="1">
    <tr bgcolor="#9acd32">
      <th>Event</th>
      <th>Group</th>
      <th>Time</th>
    </tr>

    <xsl:for-each select="Diary/Event">      
        <xsl:if test="@Classification = ''Some classification">
            <tr>
              <td><a href="http://www.example.com/somepage.php" target="_blank"><xsl:value-of select="@EventName"/></a></td>
              <td><xsl:value-of select="@EventGroup"/></td>
              <td><xsl:value-of select="@Time"/></td>
            </tr>
        </xsl:if>
    </xsl:for-each>

  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

你知道我需要添加什么来分割字符串的时间吗?你能举个例子吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我使用这样的模板:

<xsl:template name="format_date">
        <xsl:param name="date" />
        <xsl:value-of select="concat( substring($date, 7, 2),'.',substring($date, 5, 2), '.', substring($date, 1, 4), ', ', substring($date, 9, 2),':',substring($date, 11, 2),'h' )" />
    </xsl:template>

对于格式如下的日期字符串:20120324233001将其转换为25.03.2012, 08:47h之类的内容。您可以采用特定的字符串格式。