我已经获得了一个XML文件,其中填充了包含“start_time”事件的元素,该事件不会添加前导零时间结构。
E.g。
“12:00”= OK
“21:00”= OK
“9:00”=不行星
我需要XML“start_time”保持一致,以便我可以对这些属性执行排序。即我需要时间总是4位数(如果计算冒号分隔符,则为5)。例如。 “09:00”,当添加前导零时。
有谁能建议我怎么做?我是XSL的新手,到目前为止我还没有得到任何东西。
XML如下所示:
<ArrayOfEvent>
<Event>
<category_name>Academic</category_name>
<event_title>Test (Paper one)</event_title>
<allday>false</allday>
<start_time>12:52</start_time>
<start_date>04/10/2012</start_date>
<end_time>9:00</end_time>
<end_date>04/10/2012</end_date>
</Event>
<Event>
<category_name>Academic</category_name>
<event_title>Test (Paper two)</event_title>
<allday>false</allday>
<start_time>2:00</start_time>
<start_date>10/10/2012</start_date>
<end_time>9:00</end_time>
<end_date>10/10/2012</end_date>
</Event>
<Event>
<category_name>Academic</category_name>
<event_title>Prize Giving</event_title>
<allday>false</allday>
<start_time>22:31</start_time>
<start_date>23/09/2013</start_date>
<end_time>9:00</end_time>
<end_date>23/09/2013</end_date>
</Event>
</ArrayOfEvent>
答案 0 :(得分:0)
最简单的答案是添加
<xsl:if test="string-length(end_time) < 5">0</xsl:if>
在适当的地方。
答案 1 :(得分:0)
您可以使用number(translate($in, ':', '.'))
将其转换为数字,然后将format-number($n, '00:00')
与使用“:”作为小数分隔符的十进制格式结合使用。