从 xml 中删除重复项(两个条件)

Remove duplicates from xml (two conditions)

我正在搜索用于消除 xml 文件中重复项的 xslt 解决方案。 该文件是使用名为 epgrab 的软件创建的。它从 dvb-s 转发器中获取 epg 数据并将其保存到 *.xml 文件中。 这里的问题是我们每天要多次阅读 epg,因为一些数据在一个小时左右的时间内发生了变化,我们需要及时获得实际的 epg 数据。有时会发生条目重复的情况。 这些需要被消除,因为每次有人打开我们的 iptv-frontend 时,网络服务器不应该读取 10 兆字节的文件。

xml 文件如下所示:

    <programme channel="28007.dvb.guide" start="20150811143300 +0200" stop="20150811151800 +0200">
    <title lang="de">Traumstädte: Stockholm - Die Entspannte</title>
    <sub-title lang="de">Film von Ines Trams</sub-title>
    <desc lang="de">Stockholm ist eine schwimmende Metropole mit einzigartiger Stadtgeografie: Jeweils ein Drittel der Stadtfläche b$
    <language>de</language>
    <!--language>mul</language-->
        <!--language>mis</language-->
        <!--language>de</language-->
    <video>
      <aspect>16:9</aspect>
    </video>
    <audio>
      <stereo>stereo</stereo>
    </audio>
    <subtitles type="teletext">
      <language>de</language>
    </subtitles>
  </programme>

这里的问题是我们需要检查通道 PID 和 start/stop 时间——不仅是一个条件。 xslt-1.0 有可能吗?

感谢您的帮助!

编辑:感谢 Martin Honnen 格式化我的代码:>

使用 XSLT 1.0 对项进行分组时,称为 Muenchian 分组的方法基于一个键,因此您可以定义一个键 <xsl:key name="group" match="programme" use="concat(@channel, '|', @start, '|', @stop)"/>,有关详细信息,请参阅 http://www.jenitennison.com/xslt/grouping/muenchian.xml