| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Slava 17.03.2005 02:42
После того, как открыл для себя в xslt функцию document() и захотелось еще одну: random(). А реализовать я хотел бы вот такую задумку:<banner-list>
<banner>
<text>...</text>
<image url="..."/>
<link url="..."/>
</banner>
<banner>...</banner>
...
</banner-list>И нужно, чтоб на странице показывался один баннер, случайно выбранный из списка. Тогда шаблон можно было бы написать вот таким: <xsl:variable name="b-list" select="document(banner_list.xml)"/>
<xsl:template match="/">
<xsl:call-template name="banner">
<xsl:with-param name="b-node"
select="$b-list/banner-list/banner[position()-1 = random(count(../banner))]"/>
</xsl:call-template>
<xsl:tempalte name="banner">
<xsl:param name="b-node"/>
<div>
<img src="{$b-node/image/@url}"/><br/>
<a href="{$b-node/link/@url}">
<xsl:value-of select="$b-node/text"/>
</a>
</div>
</xsl:template>Может быть знающие люди подскажут, как можно реализовать это? Есть ли какой-нибудь обходной путь? И стоит ли?