Здравствуйте!
Мне необходимо выполнить XSL-преобразование XML-файла, чтобы получить структуру следующего вида:
Нужно вывести время начала и название передачи, выполнив группировку по дате.
m24_tv.xml<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="m24_tv_style.xsl"?>
<tv generator-info-name="Generator/0.01" generator-info-url="http://xmltv.s-tv.ru">
<channel id="MOSCOW-24s">
<display-name lang="ru">МОСКВА-24 (сайт)</display-name>
</channel>
<programme start="20181001060000 +0400" channel="MOSCOW-24s">
<title lang="ru">УТРЕННЕЕ ВЕЩАНИЕ</title>
<date>2018-10-01</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001100000 +0400" channel="MOSCOW-24s">
<title lang="ru">НОВОСТИ<icon class='YhYho'></icon></title>
<date>2018-10-01</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001101500 +0400" channel="MOSCOW-24s">
<title lang="ru">СПЕЦИАЛЬНЫЙ РЕПОРТАЖ. ДОМ СВЯЗИ 12+</title>
<date>2018-10-01</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001103500 +0400" channel="MOSCOW-24s">
<title lang="ru">СПЕЦИАЛЬНЫЙ РЕПОРТАЖ КРУПНАЯ РЫБА 12+</title>
<date>2018-10-02</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001110000 +0400" channel="MOSCOW-24s">
<title lang="ru">НОВОСТИ<icon class='YhYho'></icon></title>
<date>2018-10-02</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001113000 +0400" channel="MOSCOW-24s">
<title lang="ru">КЛИМАТ-КОНТРОЛЬ 12+</title>
<date>2018-10-02</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001114500 +0400" channel="MOSCOW-24s">
<title lang="ru">НОВОСТИ<icon class='YhYho'></icon></title>
<date>2018-10-03</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001120000 +0400" channel="MOSCOW-24s">
<title lang="ru">НОВОСТИ<icon class='YhYho'></icon></title>
<date>2018-10-03</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
<programme start="20181001123000 +0400" channel="MOSCOW-24s">
<title lang="ru">НОВОСТИ<icon class='YhYho'></icon></title>
<date>2018-10-03</date>
<video></video>
<category lang="ru">Инфо</category>
</programme>
m24_tv_style.xsl<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="newline">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:key name="dates" match="programme" use="date"/>
<xsl:template match="/">
<xsl:for-each select="//programme[generate-id(.)=generate-id(key('dates', date)[1])]">
<xsl:value-of select="date"/>
<xsl:value-of select="$newline"/>
<xsl:for-each select="key('dates', date)">
<xsl:value-of select="title"/>
<xsl:value-of select="$newline"/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Сейчас получилось выполнить группировку по дате и вывести названия передач.
Как можно вывести время начала передачи?
Время начала передачи - свойство
start=""
в
<programme>