Pull to refresh
12
0
Павел Панюшкин@parsek

User

Send message

Случайная сортировка и вывод случайных элементов в XSLT

Reading time4 min
Reach and readers3.8K

Вступление


В этой статье хочу поделиться с Вами моими попытками создать случайную (хотя уместнее буде сказать псевдослучайную) сортировку средствами XSLT, без использования сторонних приложений и расширений.

Изначально была задача сделать сортировку под PHP-ный XSLT процессор. Но захотелось сделать что-то более универсальное.

Опытный образец


Для начала нам понадобиться образец для тестирования сортировки. Не будем заниматься хитросплетениями и напишем просто.

Файл данных data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="view.xsl"?>
<root>
<item id="1"/><item id="2"/><item id="3"/><item id="4"/><item id="5"/><item id="6"/><item id="7"/><item id="8"/><item id="9"/><item id="10"/>
</root>

Читать дальше →

Многоуровневое меню в XSLT

Reading time3 min
Reach and readers4K
Здравствуйте уважаемые Хабровчане. Хочу представить шаблон вывода многоуровневого меню, хотя, немного переделав, сойдет для вывода обычных деревьев. На нашем любимом сайте подобного не видел, в инете особо не искал. Для кого-то может показаться слишком легким, но надеюсь другим понадобиться.

Вот здесь уже разбиралась тема построение деревьев. В этом примере другая структура XML файла и заточка под другие задачи.

Начнем с XML файла. Структура не сложная. Каждый элемент состоит из идентификатора, идентификатора родительского элемента, ссылки и названия.

Читать дальше →

Постраничная навигация в XSLT

Reading time5 min
Reach and readers4.1K
Здравствуйте уважаемые Хабровчане. Недавно встретилась задача вывода постраничной навигации с помощью технологии XSLT. После безрезультатных поисков по интернету типовых решений, было принято решение изобрести свой велосипед.

Дано: Номер текущей страницы получаемой из GET запроса. XML файл, состоящий из корневого элемента, в котором множество вложенных однотипных элементов. Для краткости сократим файл до вот такого вида:

Файл данных nav.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
	<item id="1"/><item id="2"/><item id="3"/><item id="4"/><item id="5"/><item id="6"/><item id="7"/><item id="8"/><item id="9"/><item id="10"/><item id="11"/><item id="12"/><item id="13"/><item id="14"/><item id="15"/><item id="16"/><item id="17"/><item id="18"/><item id="19"/><item id="20"/><item id="21"/><item id="22"/><item id="23"/><item id="24"/><item id="25"/><item id="26"/><item id="27"/><item id="28"/><item id="29"/><item id="30"/><item id="31"/><item id="32"/><item id="33"/>
</root>

Надо: Обеспечить постраничную навигацию. Если страница не первая выводилось назад и в начало. Если страница не последняя выводилось далее и в конец. Число элементов на странице, число страниц до и после текущей страницы можно было изменять.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity