
- •3. Пространство имен 32
- •5. Приложения xml 39
- •10. Онтология 79
- •11. Список литературы 85
- •Определение и основные принципы World Wide Web
- •Проблемы современного Web.
- •Семантические технологии Web
- •Стандартный синтаксис описания данных – rdf
- •Стандартные способы описания свойств данных – схема rdf
- •Онтология
- •Отображение хмl-документа
- •Синтаксис хмl-документа
- •Составные части корректно сформированного хмl-документа
- •Задание атрибутов для элементов
- •Правила для корректного задания значений атрибутов
- •Форма записи инструкции по обработке
- •Форма записи раздела cdata
- •Несколько примеров xml-документов.
- •Пространство имен
- •Понятие пространства имен
- •Пример применения пространства имен.
- •Особенности отображения в Internet Explorer
- •Синтаксис языка
- •Основные элементы
- •Индексы
- •Приложения xml
- •Элементы xml Schema
- •Определение простых элементов
- •Перечисляемые значения
- •Определение комплексных элементов
- •Введение
- •Простые примеры
- •Синтаксис основных элементов xsl.
- •Использование шаблонов
- •Вставка скриптов в результирующий html-документ
- •Обработка xml-документов с помощью JavaScript.
- •Полезный синтаксис
- •Предикаты
- •Операции равенства
- •Операции Сравнения
- •Булевы Выражения
- •Числовые Выражения
- •Библиотека функций
- •Функции набора элементов
- •Числовые Функции
- •Строковые Функции
- •Определение rdf
- •Rdfs – rdf схема
- •Список литературы
Синтаксис основных элементов xsl.
xsl:value-of
Вставка некоторого значения в выходной поток.
Синтаксис:
<xsl:value-of select="expression"
disable-output-escaping="yes|no"/>
Атрибут |
Значение |
Описание |
select |
выражение |
Обязателен. Значение, передаваемое на выход |
disable-output-escaping |
yes|no |
Не обязателен. "Yes" показывает, что специальные символы (например, "<") должные передаваться на выход так, как есть. "No" показывает, что специальные символы (например, "<") должны передаваться на выход как "%lt". По умолчанию "по". |
Примеры:
Запись в выходной поток значения элемента XML-документа:
<xsl:value-of select="Book/Title"/>
Запись в выходной поток значения текущего узла XML-документа:
<xsl:value-of select="."/>
Запись в выходной поток числа 10:
<xsl:value-of select="5+5"/>
Запись в выходной поток значения переменной book:
<xsl:value-of select="$book"/>
xsl:if
Элемент – условный опреатор.
Синтаксис:
<xsl:if test="expression">
template-body
</xsl:if>
Атрибут |
Значение |
Описание |
test |
выражение |
Обязателен. Проверяемое условие |
Примеры:
<xsl:if test="Book/Title = 'Война и мир'">
<xsl:value-of select="Book/Title"/><br/>
<xsl:value-of select="Book/Creator"/><br/>
</xsl:if>
xsl:for-each
Позволяет создать цикл.
Синтаксис:
<xsl:for-each select="expression">
<xsl:sort>
template-body
</xsl:for-each>
Атрибут |
Значение |
Описание |
select |
выражение |
Обязателен. Обрабатываемый набор элементов |
Элемент for-each выполняет две основные задачи:
осуществляет вывод блока элементов, содержащихся внутри элемента for-each, повторяя его для каждого XML-элемента в документе, отвечающего образцу, присвоенному атрибуту select элемента for-each;
for-each задает текущий элемент, устанавливаемый атрибутом select, и в XSL-элементах внутри элемента for-each уже не нужно указывать полное имя XML-элемента.
Примеры:
<xsl:for-each select="Library/Book">
<xsl:value-of select="dc:title"/><br/>
<xsl:value-of select="dc:description/@xml:lang"/><br/>
<xsl:value-of select="dc:identifier"/><br/><br/>
</xsl:for-each>
xsl:sort
Элемент <xsl:sort> всегда является дочерним элементом элемента <xsl:for-each> или элемента <xsl:apply-templates> и позволяет задавать сортировку набора узлов.
Синтаксис:
<xsl:sort
select="выражение"
order="ascending|descending"
case-order="upper-first|lower-first"
lang="language-code" data-type="text|number|qname"/>
Атрибут |
Значение |
Описание |
select |
выражение |
He обязателен. Сортировочное выражение |
order |
Ascending / descending |
He обязателен. Порядок сортировки. По умолчанию ascending – в порядке возрастания |
case-order |
upper-first / lower-first |
Не обязателен. Большие буквы идут впереди маленьких или наоборот. |
lang |
код языка |
Не обязателен. Язык, применяемый для сортировки. |
data-type |
text / Number / qname |
Не обязателен. Тип сортируемых данных. Это текст, числа или определенный пользователем тип данных. По умолчанию text |
Примеры:
<xsl:for-each select="Library/Book">
<xsl:sort data-type="text" select="dc:creator"/>
<xsl:value-of select="dc:title"/>
<xsl:value-of select="dc:creator"/>
<xsl:value-of select="dc:description"/>
</xsl:for-each>
xsl: variable
Объявление переменной.
Синтаксис:
<xsl:variable name="name" select="expression">
содержимое
</xsl:variable>
Атрибуты
Атрибут |
Значение |
Описание |
name |
имя |
Обязателен. Имя переменной |
select |
выражение |
Не обязателен. Значение переменной |
В дальнейшей работе имя переменной используется со знаком "$".
Начальное значение переменной задается следующими способами:
Если объявление переменной атрибут select, то значением переменной является объект, полученный в результате обработки выражения в атрибуте select. Содержимое элемента в этом случае должно быть пустым.
<xsl:variable name="car" select="Audi">
Если объявление переменной не имеет атрибута select, но имеет непустое содержание, тогда значение задается содержимым элемента и формируется фрагмент конечного дерева. Это позволяет использовать переменную в XSL-элементе value-of
<xsl:variable name=" var1"> значение </xsl:variable>
<xsl:value-of select="$var1"/>
Если объявление переменной имеет пустое содержимое и не имеет атрибута select, значением переменной является пустая строка.
<xsl:variable name="var1"/>
Значение переменной можно просто подставить в выходной поток используя фигурные скобки, например:
<xsl:variable name="para-font-size">18pt</xsl:variable>
<div style="font-size={$para-font-size}">
Содержимое блока div
</div>
xsl:copy-of
Копирует текущий элемент в выходной поток (с дочерними узлами и атрибутами) без предварительного конвертирования их в строку, как это делает элемент <xsl:value-of>. Данный элемент применяется тогда, когда нужно скопировать без изменений под-дерево из входного документа в выходной.
Синтаксис:
<xsl:copy-of select="expression"/>
Атрибут |
Значение |
Описание |
select |
выражение |
Обязателен. Элемент, который копируется в выходной поток. |
Примеры:
<xsl:copy-of select="Book/Pages"/>
xsl:output
Позволяет контролировать формат выходного потока данной таблицы стилей. Элемент <xsl:output> – элемент верхнего уровня и должен появляться как первый дочерний узел элемента <xsl:stylesheet>
Синтаксис:
<xsl:output
method="xml|html|text|name"
version="version"
encoding="text"
omit-xml-declaration="yes|no"
standalone="yes|no"
indent="yes|no"/>
Атрибут |
Значение |
Описание |
method |
xml/html/ text/name |
He обязателен. Выходной формат. |
version |
число |
He обязателен. XML-версия выходного формата. |
encoding |
текст |
He обязателен. Кодировка. |
omit-xml-declaration |
yes/no |
Не обязателен. "Yes" указывает, что XML-декларация (<?xml... ?>) в выходном потоке может быть опущена. "No" указывает, что декларация должна быть включена в выходной поток |
standalone |
yes/no |
Не обязателен. "Yes" указывает, что результат должен быть автономным документом. "No" указывает, что результат не должен быть автономным документом. |
indent |
yes/no |
Не обязателен. "Yes" указывает, что выходной поток должен быть с отступами, отражающими иерархическую структуру (для удобочитаемости). "No" указывает, что выходной поток должен быть без отступов. |
Желательный элемент – в некоторых браузерах необходимо явно указывать тип выходного потока для правильной работы (например, Opera)
Примеры
<xsl:output method="html" version="4.0" encoding="windows-1251" indent="yes"/>
xsl:text
Записывает текст в выходной поток.
Синтаксис:
<xsl:text disable-output-escaping="yes|no">
текст
</xsl:text
Атрибут |
Значение |
Описание |
disable-output-escaping |
yes / no |
He обязателен. "Yes" указывает, что специальные символы, например, знак меньше ">", должны выводиться так, как они есть. "No" показывает, что специальные символы должны выводиться как "%lt". По умолчанию "No". |
Примеры:
<xsl:text>The element has no color attribute! </xsl:text>
xsl:template
Задает шаблон для выходного потока. Это элемент верхнего уровня
Синтаксис:
<xsl:template
name="name"
match="pattern"
mode="mode"
priority="number">
template-body
</xsl:template>
Атрибут |
Значение |
Описание |
name |
имя |
He обязателен. Имя шаблона. Если этот атрибут опускается должен быть атрибут match |
match |
образец |
Не обязателен. Если этот атрибут опускается должен быть атрибут name |
mode |
текст |
Не обязателен. Режим данного шаблона |
priority |
число |
Не обязателен. Число, показывающее приоритет данного шаблона. |
xsl :apply-templates
Применяет шаблон к текущему элементу – задается набор узлов для обработки текущим элементом.
Синтаксис:
<xsl:apply-templates select="expression" mode="name">
<xsl:sort>
</xsl:apply-templates>
Атрибут |
Значение |
Описание |
select |
выражение |
He обязателен. Множество обрабатываемых узлов. Если пропущен, обрабатываются все дочерние узлы данного узла. |
mode |
имя |
Не обязателен. Режим обработки. |