
- •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 схема
- •Список литературы
Простые примеры
Рассмотрим простой пример XML-документа:
<?xml version="1.0" encoding="windows-1251"?>
<Book>
<Title>Война и мир</Title>
<Author>Толстой Л.Н</Author>
<Pages>600</Pages>
<Type>роман</Type>
<Text Type=’text’>http://www.text.com/book1</Text>
</Book>
Если открыть этот файл в браузере, то появиться тот же самый текст, который приведен выше, вместе со всеми тегами и служебной информацией.
|
Для того, чтобы видеть только нужную информацию необходимо к XML-документу добавить шаблон преобразования – XSL-документ.
|
Новый вид XML-документа, с добавлением ссылки на XSL- документ во второй строке:
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type='text/xsl' href='ex01.xsl'?>
<Book>
<Title>Война и мир</Title>
<Author>Толстой Л.Н</Author>
<Pages>600</Pages>
<Type>роман</Type>
<Text Type=’text’>http://www.text.com/book1</Text>
</Book>
Текст XSL-документа из файла ex01.xsl:
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<p><b><xsl:value-of select="Book/Title"/></b></p>
<p><i><xsl:value-of select="Book/Creator"/></i></p>
<p><xsl:value-of select="Book/Pages"/></p>
<p><xsl:value-of select="Book/Type"/></p>
<p><xsl:value-of select="Book/Identifier/@Type"/></p>
<p><xsl:value-of select="Book/Identifier"/></p>
</xsl:template>
</xsl:stylesheet>
Если открыть новый вариант XML-документа в браузере, то на экране осталась только необходимая информация, все теги XML-документа отображаться не будут. Результат, который получился на экране браузера, приведен ниже:
|
Порядок элементов value-of XSL-документа определяет порядок, в котором браузер отображает элементы XML-документа. При необходимости шаблон можно легко поменять, абсолютно не меняя основной XML- документ. Таким образом, XSL-таблица стилей сообщает браузеру, как отобразить XML-документ путем избирательного преобразования XML-элементов в блок HTML-разметки, который воспринимается и отображается браузером аналогично разметке, содержащейся на HTML-странице. Заметим, однако, что вам не обязательно включать в XSL-шаблон элементы, представляющие элементы HTML или BODY, которые являются стандартными составными частями HTML-страницы, поскольку браузер сам эффективно их формирует.
|
Другой вариант XSL-документа из файла ex01-2.xsl:
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table border="1">
<tr><td><b><xsl:value-of select="Book/Title"/></b></td></tr>
<tr><td><i><xsl:value-of select="Book/Creator"/></i></td></tr>
<tr><td><xsl:value-of select="Book/Pages"/></td></tr>
<tr><td><xsl:value-of select="Book/Type"/></td></tr>
<tr><td><xsl:value-of select="Book/Identifier/@Type"/></td>
</tr>
<tr><td><xsl:value-of select="Book/Identifier"/></td></tr>
</table>
</xsl:template>
</xsl:stylesheet>
Если заменить в XML-документе во второй строке имя XSL-файла на ex01‑2.xsl, то в браузере Internet Explorer результат будет другим:
|
То есть в результате содержимое XML-документа будет заключено в таблицу. Главный вывод из предложенного примера – к одному XML-документу может быть применено множесво XSL преобразований и наоборот, XSL преоразование может использоваться со многими XML-документами. |
Существуют два основных шага для отображения XML-документа при использовании XSL-таблицы стилей:
создание XSL-таблицы стилей.
связывание XSL-таблицы стилей с XML-документом, включив в документ инструкцию по обработке xml-stylesheet, которая имеет следующую обобщенную форму записи:
<?xml-stytesheet type="text/xls" href=”XSLFilePath”?>
Здесь XSLFilePath представляет собой заключенный в кавычки URL, указывающий местонахождение файла таблицы стилей. Можно использовать полный URL, например href="http:/www.my_domain.com/ex01-2.xsl" или указать только имя файла, если XSL-таблица находится в той же папке что и XML-документ – href="ex01-2.xsl".
Рассмотрим теперь более подробно XSL-документ из файла ex01.xsl Пример 15.. Его текст:
1 |
<?xml version="1.0" encoding="windows-1251"?> |
2 |
<xsl:stylesheet version="1.0" |
3 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
4 |
<xsl:template match="/"> |
5 |
<p><b><xsl:value-of select="Book/Title"/></b></p> |
6 |
<p><i><xsl:value-of select="Book/Creator"/></i></p> |
7 |
<p><xsl:value-of select="Book/Pages"/></p> |
8 |
<p><xsl:value-of select="Book/Type"/></p> |
9 |
<p><xsl:value-of select="Book/Identifier/@Type"/></p> |
10 |
<p><xsl:value-of select="Book/Identifier"/></p> |
11 |
</xsl:template> |
12 |
</xsl:stylesheet> |
Первая строка информирует о том, что файл имеет формат XML. XSL это корректный XML-документ и на него распространяются все правила написания XML-документов. Подобно любому XML-документу, XSL-таблица стилей содержит простой текст, и ее можно создать с помощью любого текстового редактора.
Как и всякий XML-документ он должен содержать единственный корневой элемент и в случае XSL-документа это может быть только (строки 2 и 12):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
…
</xsl:stylesheet>
Корневой элемент XSL-документа должен содержать обязательный атрибут version и описание пространства имен XSL. Для XSL-файлов ссылка на пространство имен является стандартной. Если необходимо могут быть и другие пространства имен, обязательно должные быть указаны те же пространства имен, которые присутствовали в XML-документе для организации правильных ссылок на его элементы.
Корневой элемент xsl:stylesheet должен содержать один или несколько шаблонов template. В рассматриваемом примере шаблон только один, который имеет следующую форму (строки 4 и 11):
<xsl:template match="/">
<!-- дочерние элементы... -->
</xsl:template>
Браузер использует шаблон для отображения определенной ветви элементов XML-документа, с которым связана таблица стилей. Атрибут match шаблона указывает на определенную ветвь. Значение атрибута match носит название образца (pattern). Образец в данном примере ("/") представляет корневой элемент XML-документа, то есть этот шаблон содержит инструкции для отображения всего XML-документа.
Каждая XSL-таблица стилей должна содержать один и только один шаблон с атрибутом match, который имеет значение "/". Можно включить один или несколько дополнительных шаблонов с инструкциями для отображения определенных подчиненных ветвей в структуре XML-документа; каждая из них должна иметь образец, отвечающий определенной ветви.
Шаблон содержит два вида XML-элементов.
XML-элементы, представляющие HTML-разметку. Примерами подобного вида XML-элемента из рассматриваемой таблицы стилей являются теги в строке 5:
<p><b> … </b></p>
которые указывают, как отображать содержимое XML-элементов. В этом случае указывается, что XML-элемент будет в отдельном абзаце и отображаться жирным шрифтом.
Все включенные HTML-элементы должны быть корректно сформированы в соответствии с правилами XML. XSLT в браузере просто копирует каждый HTML-элемент непосредственно на выход браузера, который воспринимает и обрабатывает их.
XSL-элементы. Примеры XSL-элементов из рассматриваемой таблицы стилей являются элементами xsl:value-of, например:
<xsl:value-of select="Book/Title"/>
Браузер отличает XSL-элемент от элемента HTML по префиксу описания пространства имен xsl. XSL-элементы в шаблоне содержат инструкции по выбору и модификации данных XML, либо используются для выполнения других задач.
XSL-элемент value-of добавляет содержимое указанного XML-элемента и, также, любых его дочерних элементов, в выходной поток HTML, который и отображается браузером. XML-элемент указывается в атрибуте select XSL-элемента value-of, например, Book/Title, что приводит к выводу текстового содержимого элемента Title. XML-элемент в атрибуте select задается с помощью оператора пути – Book/Title, который определяет местонахождение элемента в дереве XML-документа.
Если опустить атрибут select для XSL-элемента value-of, элемент будет осуществлять вывод текстового содержимого плюс текстовое содержимое всех дочерних элементов в текущий элемент. В приведенном примере, поскольку текущим является корневой элемент, пропуск атрибута select приведет к выводу всех символьных данных в XML-документ.
В строке 9 примера происходит обращение к атрибутам XML-элемента. От работы с XML-элементами обращение к атрибуту отличается указанием символа "@" перед именем атрибута – Book/Identifier/@Type.