XSLT按两个元素排序;如果首先重复,则使用秒

时间:2016-07-06 21:52:39

标签: html xml xslt

基本上我有一个具有以下结构的XML,我想进行从XML到HTML的XSL转换。重要的是,我希望有一个表格,其中包含按日期排序的有关程序的所有信息。问题是,如果date元素相同,则应按time排序。我不知道如何解决这个问题。

<scheduling>
  <program channel="FOX" season="9" episode="2">
    <date>2013-06-17</date>
    <time>23:50:00</time>
    <duration>00:45:00</duration>
    <name>CSI</name>
    <resume>Something about a murder, idk...</resume>
  </program >
  ... <!-- program can repeat -->
</scheduling>

1 个答案:

答案 0 :(得分:0)

sort key specification允许多个xsl:sort元素正好用于此用例:

  

[定义:在sort key specification内,每个xsl:sort   element定义了一个排序键组件。]第一个xsl:sort元素   指定排序键规范的主要组件,即   第二个xsl:sort元素指定的第二个组件   排序密钥规范等。

因此,只需为xsl:sort元素指定第二个time

<xsl:sort select="date"/>
<xsl:sort select="time"/>