Новости | 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>Может быть знающие люди подскажут, как можно реализовать это? Есть ли какой-нибудь обходной путь? И стоит ли?