
- •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 схема
- •Список литературы
Вставка скриптов в результирующий html-документ
При разработке XSL-преобразования можно вставлять в него практически любые элементы HTML, в том числе и блоки <script>, внутри которых можно задавать любые конструкции JavaScript, используя для этого XML-элемент CDATA:
<html>
<head>
<script language="JavaScript">
<![CDATA[
function msover(){
…}
function msout(){
…}
]]>
</script>
</head>
<body>
…
<div id='tagName' onmouseover='msover()' onmouseout=' msout()'>
…
</div>
…
</html>
В результате получается полноценный HTML-документ, содержащий скрипты и обращения к ним. Учитывая специфику JavaScript, в этом случае необходимо явным образом вставлять теги <html> и <head>, если это необходимо.
Обработка xml-документов с помощью JavaScript.
JavaScript предоставляет большие возможности для работы с XML-документами. Аналогично HTML в JavaScript можно создать объект, содержащий объектную модель XML-документа позволяющую извлекать и изменять XML-элементы, добавлять новые и т.д.
В данном разделе приведем пример только одной интересной возможности:
Создается объект для XML-документа:
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
Загружается файл:
xmlDoc.load('пример.xml');
Проверяется коррекность загрузки:
if(xmlDoc.parseError.errorCode != 0) {
Если код ошибки не равен 0, то выводится сообщение об ошибке:
alert(xmlDoc.parseError.reason);
alert(xmlDoc.parseError.line); }
Создается объект для XSL-преобразования:
xslDoc = new ActiveXObject("Microsoft.XMLDOM");
xslDoc.async = false;
Загружается файл:
xslDoc.load('пример.xsl');
Проверяется коррекность загрузки:
if(xslDoc.parseError.errorCode != 0) {
Если код ошибки не равен 0, то выводится сообщение об ошибке:
alert(xslDoc.parseError.reason);
alert(xslDoc.parseError.line); }
Вывод XML-документа с XSL-преобразованием
document.write(xmlDoc.transformNode(xslDoc));
До вывода XML-документа можно произвести необходимые действия с XML и XSL-документами. Например, изменить порядок сортировки, условие фильтрации и т.д.
Подробно работа с объектной моделью XML-документа описана:
«Объектная модель XML документа». Г.Е. Берман, кафедра "Информационных технологий. Данный документ является расширенным описанием лекции по XML DOM, которую автор читает для студентов факультета прикладной математики Тверского госуниверситета в рамках спецкурса «Технологии XML». http://gberman.narod.ru/xmllections/dom/start.htm
JavaScript и XML. http://www.codenet.ru/webmast/xml/xslt/6.php
«Парсинг XML в JavaScript на примере XML-погоды от gismeteo.ru». Вячеслав Гринин http://easy4web.ru/?p=393
Документация и литература:
Школы консорциума W3C. Школа XSL http://xml.nsu.ru/xsl/xsl_home.xml
Леонов Игорь Васильевич. XML и XSLT в примерах для начинающих http://www.citforum.ru/internet/xmlxslt/xmlxslt.shtml, http://www.codenet.ru/webmast/xml/xslt/
Язык преобразований XSL (XSLT). Версия 1.0. Рекомендация W3C от 16 ноября 1999. http://www.citforum.ru/internet/xslt/index.shtml, http://www.codenet.ru/webmast/xml/xslt/w3c.php
Владимир Шрайбман. Реализация XSL-преобразований при разработке сайтов с XML-наполнением страниц. http://www.citforum.ru/internet/xml/xsl_preobrazovaniy/
XPath
Язык XML Path (XPath) является набором синтаксических и семантических правил для ссылок на части XML-документов. XPath предназначен для использования другими спецификациями, такими как XSL Transformations (XSLT) и XML Pointer Language (XPointer).
Выражения XPath идентифицируют набор элементов в XML-документе. Этот набор элементов содержит ноль или более элементов. Например, выражение XPath /Library, из Пример 16., идентифицирует один-единственный элемент – корневой элемент Library. Выражение XPath /Library/Book идентифицирует все элементы Book в XML-документе. В XSLT значения атрибутов select являются выражениями XPath.
XPath использует нотацию с прямой наклонной чертой (/), аналогичную обозначению полного имени файла, содержащего путь – список папок, в Windows.
Допустимые выражения XPath могут включать в себя условные выражения – предикат, определяющие правила фильтрации. Предикаты содержат логические выражения, которые проверяются для каждого элемента, идентифицированного выражением XPath. Если значение условного выражения – истина, элемент допускается к обработке; иначе элемент пропускается. В последнем варианте XSL-преобразования (файл «пример 16-5.xsl») из раздела 7.1.4 использован предикат:
Library/Book[dc:creator/vCard:N/vCard:Family='Пушкин']
который идентифицирует только те элементы Book в которых элемент Family – фамилия автора – Пушкин.
Выражения XPath могут ссылаться на атрибуты так же, как и на элементы в XML-документе. При ссылке на атрибут используется символ @. Например, следующее выражение XPath идентифицирует элементы dc:description, в которых атрибуты xml:lang содержат значение:
dc:description/[@xml:lang=”ru”]
XPath также предоставляет набор функций, которые могут быть полезны при формировании предиатов. Выражение Xpath, приведенное ниже, идентифицирует элемент dc:subject содержащий слово проза:
contains(dc:subject,'проза')