Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Таранова / Лекция-8_XSl.pptx
Скачиваний:
59
Добавлен:
19.05.2015
Размер:
473.84 Кб
Скачать

Выбираются все атрибуты @id //@id

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

Выбираются элементы BBB, имеющие атрибут id //BBB[@id]

Выбираются элементы BBB, имеющие хоть какой-нибудь атрибут

//BBB[@*]

Выбираются элементы BBB, не имеющие ни одного атрибута

//BBB[not(@*)]

Выбираются элементы BBB, имеющие атрибут id со значением b1

//BBB[@id='b1']

<AAA>

<CCC>

<BBB/

>

<BBB/

>

<BBB/

>

</CCC>

<DDD>

<BBB/

>

<BBB/

>

</DDD>

<EEE>

<CCC/

>

<DDD

/>

</EEE>

Выбираются элементы, имеющие два дочерних элемента BBB

//*[count(BBB)=2]

Выбираются все элементы, имя которых начинается с B

//*[starts-with(name(),'B')]

Выбираются все элементы, имя которых содержит C

//*[contains(name(),'C')]

XSL

Принцип обработки XML- документов стилевыми таблицами заключается в следующем: при разборе XSL-документа программа-анализатор обрабатывает инструкции этого языка и каждому элементу, найденному в XML- дереве ставит в соответствие набор тэгов, определяющих форматирование этого элемента.

Инструкции XSL определяют точное месторасположение элемента XML в дереве, поэтому существует возможность применять различные стили оформления к одинаковым элементам, в зависимости от контекста их использования.

В общем случае в преобразовании участвуют три документа:

входящий документ, который подвергается преобразованию;

документ, который описывает само преобразование;

выходящий документ, который является результатом преобразования.

Процесс обработки делится на три стадии.

XSLT-процессор разбирает входящий документ и документ преобразования, создавая для них древовидные структуры данных. Этот этап называется этапом парсинга документа (от англ. parse — разбирать).

К дереву входящего документа применяются правила, описанные в преобразовании. В итоге процессор создает дерево выходящего документа. Этот этап называется этапом преобразования.

Для созданного дерева генерируется физическая сущность. Этот этап называется этапом

сериализации.

XSLT имеет некоторые ограничения:

XSLT не подходит для описания преобразований с очень сложной логикой;

XSLT не подходит для преобразований, которые требуют сложных вычислений.

xsl:stylesheet

Первая строка файла содержит тег элемента xsl:stylesheet.

Атрибуты элемента — номер версии и ссылка на пространство имен. Эти атрибуты элемента xsl:stylesheet являются обязательными.

<?xml version="1.0" encoding="WINDOWS-1251"?> <?xml-stylesheet type='text/xsl' href='yourxsl.xsl'?> <shop>

<product_type caption="Фрукты">

<product ammount="100">Апельсины</product> <product ammount="300">Мандарины</product> <product ammount="500">Яблоки</product>

</product_type>

<product_type caption="Овощи">

<product ammount="200">Морковь</product> <product ammount="400">Картофель</product> <product ammount="600">Огурцы</product>

</product_type> </shop>

xsl:template

XSL- документ представляет собой совокупность правил построения, каждое из которых выделено в отдельный блок, ограниченный тэгами <xsl:template> и

</xsl:template>.

Правила определяют шаблоны, по которым каждому элементу XML ставится в соответствие последовательность HTML-тэгов, т.е. внутри них содержатся инструкции, определяющие элементы XML-документа и тэги форматирования, применяемые к ним.

Элементы XML, к которым будет применяться форматирование, обозначаются в XSL атрибутом match. Для указания элемента с конкретным названием (название элемента определяется тэгами, его обозначающими), т.е. определения класса элемента, можно использовать атрибут

match="<имя_элемента>"

Соседние файлы в папке Таранова