Динамическое формирование атрибутов на примере параметров ссылки в теге / XML-XSLT
Предположим теперь, что в каждой строке таблицы нам нужно сделать ссылку на некоторую страницу и передать на эту страницу два параметра - кличку и вес собаки. Понятно, что для каждой строки эти параметры - свои, и их нельзя прописать явно в XSL-файл. Тем не менее задача легко решается при помощи элемента xsl:attribute.
Мы не будем здесь строить специальный пример, ограничимся только соответствующим фрагментом XSL-файла.
<td> <!-- Create reference to display details. Parameters - Dog Name and Dog Weight --> <a target="_blank"> <xsl:attribute name="href">DisplayDetails.html?dogName= <xsl:value-of select="dogName"/>&dogWeight= <xsl:value-of select="dogWeight"/></xsl:attribute> <xsl:attribute name="title">To view some more details about <xsl:value-of select="dogName"/> click to dog name </xsl:attribute> <xsl:value-of select="dogName"/> </a> </td>
В этом примере в ячейке таблицы мы размещаем ссылку на страницу с подробными описаниями. Ссылка указывается в атрибуте href тега <a>. Поскольку на страницу передаются два параметра, значения которых берутся из XML-файла, этот атрибут формируется динамически. Обратите также внимание - символ & (амперсанд), разделяющий передаваемые параметры, записывается в XSL-файле в виде &. Во втором атрибуте нам нужна всплывающая подсказка (атрибут title), которая появляется при наведении курсора мыши на ссылку. Текст этой подсказки тоже меняется динамически. Наконец, статический атрибут target мы разместили непосредственно в теге <a>.
И, наконец, мы ознакомились с комментариями в XSL-файлах. Это вторая строка приведенного фрагмента.
<!-- Create reference to display details. Parameters - Dog Name and Dog Weight -->
На этом мы завершим рассмотрение возможностей чистого XSLT и перейдем к последнему параграфу в этом документе - к динамическому изменению содержимого Web-страницы при помощи возможностей JavaScript и XML/XSLT без каких-либо дополнительных обращений к базе данных.
Оставить комментарий
Комментарии
а как сделать, чтоб при переходе на свою же страничку, одни данные отображались а другие нет.
скажем так при нажитие на ссылку dog, появлялось тут же имя собаки, а по нажатию на cat имя кота. но имя собаки не показывалось. на одной странице!
XML-код:
<dog id="001" name="Шарик"/>
XSLT:
<xsl:template match="dog">
<a href="show.php?id={@id}">{@name}</a>
</xsl:template>