簡體   English   中英

如何對內容進行排序<xsl:variable>

[英]How to sort contents of an <xsl:variable>

<?xml version="1.0" encoding="UTF-8"?>
<sortedResults xmlns="urn:com-avaneesh-abc:v1">
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-11T15:37:00.000-05:00"
                        event-id="16886888"/>
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-13T15:37:00.000-05:00"
                        event-id="16886890"/>
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-10T15:37:00.000-05:00"
                        event-id="16886884"/>
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-10T15:37:00.000-05:00"
                        event-id="16886878"/>
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-13T15:37:00.000-05:00"
                        event-id="16886886"/>
    <result time-zone="America/Chicago" event-end-dt-tm="2013-06-11T15:37:00.000-05:00"
                        event-id="1688687416886876"/>
</sortedResults>

我想對上述示例XML進行排序,該示例XML是<xsl:variable>一部分,將按每個<result>event-end-dt-tm進行排序,並將最新日期移動到一個XML標記<first> ,最舊的位於<last> ,其余的位於標簽<other> 我嘗試使用<xsl:sort> ,但是沒有按預期排序。

此XSLT-1.0將通過屬性@event-end-dt-tm<sortedResults>的所有<result><sortedResults>排序,同時知道urn:com-avaneesh-abc:v1命名空間:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ava="urn:com-avaneesh-abc:v1">
  <xsl:output method="xml" />

  <xsl:template match="/ava:sortedResults">
    <xsl:apply-templates>
      <xsl:sort select="@event-end-dt-tm" />
    </xsl:apply-templates>
  </xsl:template>

  <xsl:template match="ava:result">
    <!-- Put your desired processing here !!! -->
    <xsl:value-of select="@event-id" /><xsl:text>&#10;</xsl:text>  <!-- For example the @event-id followed by a newline -->
  </xsl:template>

</xsl:stylesheet>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM