如何使用XSLT升序对XML进行排序

时间:2014-04-06 20:47:38

标签: xml sorting xslt

我已经编写了这个XSLT来查看公交车站信息,但我想问一下如何以递增停车号码的方式下订单。有人可以帮我解决一下如何排序

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:element name="html">
      <xsl:element name="body">
        <table style="width:720px" border="3">
          <tr>
            <td>Stop #</td>
            <td>Route #</td>
            <td>Name</td>
            <td>latitude</td>
            <td>longitude</td>
          </tr>
          <xsl:apply-templates select="//stop" />
        </table>
      </xsl:element>
    </xsl:element>
  </xsl:template>
  <xsl:template match="stop">
    <tr>
      <td>
        <xsl:value-of select="@number" />
      </td>
      <td>
        <xsl:value-of select="routes" />
      </td>
      <td>
        <xsl:value-of select="@name" />
      </td>
      <td>
        <xsl:value-of select="location/latitude" />
      </td>
      <td>
        <xsl:value-of select="location/longitude" />
      </td>
    </tr>
  </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:3)

您可以在apply-templates中使用sort,如下所示:

<xsl:apply-templates select="//stop">
    <xsl:sort order="ascending" select="@number" data-type="number"/>
</xsl:apply-templates>