kost
Новичок
xsl sort() и preceding-sibling::
Добрый день, коллеги.
Вот такая вот проблема возникла. Хочу вывести на XSLT блок новостей таким образом:
- сортировка по аттрибуту date
- всем элементам, кроме первого предшевствует определенный delimiter (горизонтальная черта обычная)
Делаю так:
А в <xsl:template mode="news_items" match="*">'е делаю так:
Но, как вы наверняка уже догадались, при обращении вида preceding-sibling::news он обращается не к отсортированным данным, а к начальным. Тоесть delimiter не показывается перед первым элементом неотсортированных данных. Можно ли исправить ситуацию?
Добрый день, коллеги.
Вот такая вот проблема возникла. Хочу вывести на XSLT блок новостей таким образом:
- сортировка по аттрибуту date
- всем элементам, кроме первого предшевствует определенный delimiter (горизонтальная черта обычная)
Делаю так:
Код:
...
<xsl:apply-templates mode="news_items" select="//news_block/news">
<xsl:sort select="@date" order="descending"/>
</xsl:apply-templates>
...
Код:
...
<!-- BEGIN delimiter -->
<xsl:choose>
<xsl:when test="preceding-sibling::news">
<tr>
<td colspan="2" style="padding-top: 4px">
<img src="./images/news/divider3.gif" width="100%" height="2" alt=""/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
<!-- END delimiter -->
...