Главная » Статьи для тега "Отобрать"

Фильтрация узлов

Добавлено Дата: 16 March, 2011 категория: XSLT

Задача

Требуется отобрать узлы в зависимости от хранящихся в них данных, возмож­но, в сочетании с ограничениями на имена или позицию.

Решение

Во многих мини-рецептах в разделе 1.1 для фильтрации узлов использовались пре­дикаты, но они налагали условия только на позицию или имя узла. Ниже мы рассмот­рим предикаты, фильтрующие по содержимому. Во всех примерах из этого раздела пе­ред каждым предикатом стоит имя X, но вместо него можно было бы задать произвольное путевое выражение, в частности, любое из рассмотренных в разделе 1.1.

Читать »

Отбор узлов по контексту

Добавлено Дата: 15 February, 2011 категория: XSLT

Задача

Требуется отобрать узлы, лежащие между двумя заданными.

Решение XSLT 1.0

В XSLT 1.0 есть несколько способов решить эту задачу. Самый простой для понимания заключается в вычислении позиций узлов, которые должны отбирать­ся на каждом шаге. Предположим, что имеется такой документ:

Читать »

Язык XPath

Добавлено Дата: 25 January, 2011 категория: XSLT

XPath – это язык для записи выражений. Он имеет фундаментальное значе­ние для обработки XML-документов. Нельзя овладеть XSLT, не зная XPath, точ­но так же, как нельзя выучить английский язык, не зная алфавита. Некоторые читатели первого издания этой книги пеняли мне за то, что я не включил в нее основ XPath. Эта глава добавлена отчасти, чтобы удовлетворить их, но главным образом потому, что в спецификации XPath 2.0 выразительная мощь этого языка была значительно усилена. Впрочем, многие рецепты будут рабо­тать и с XPath 1.0.

Читать »

Отбор всех элементов, кроме одного

Добавлено Дата: 17 January, 2011 категория: XSLT

Задача

Требуется отобрать все элементы в определенном контексте за исключением некоторых.

Решение

Самый лучший способ отобрать все элементы, кроме одного, такой:

<xsl:apply-templates select="*[not(self::element-to-ignore)]"/>

Читать »