- •Оглавление введение 4
- •Тема 1. Простой xml-документ 8
- •Тема 2. Создание корректно сформированных xml-документов 20
- •Тема 3. Создание валидных xml-документов 37
- •Тема 4. Определение и использование примитивов 72
- •Тема 5. Таблицы каскадных стилей 94
- •Тема 6. Связывание данных 169
- •Тема 7. Сценарии объектной модели документа 219
- •Тема 8. Xsl-таблицы стилей 261
- •Тема 9. Описание схемы документа на языке xsd 288
- •Список литературы 320 введение
- •Тема 1. Простой xml-документ
- •Лабораторная работа №1
- •Тема 2. Создание корректно сформированных xml-документов
- •2.1. Составные части корректно сформированного xml-документа
- •Лабораторная работа №2
- •2.2. Добавление элементов в документ
- •2.3. Анатомия элемента
- •2.4. Типы содержимого элемента
- •2.5. Пустые элементы
- •Лабораторная работа №3
- •2.6. Задание атрибутов для элементов
- •2.7. Правила для создания атрибутов
- •2.8. Правила для корректного задания значений атрибутов
- •Тема 3. Создание валидных xml-документов
- •3.1. Основной критерий для валидного документа
- •3.2. Преимущества использования валидных xml-документов
- •3.3. Добавление dtd
- •3.4. Форма записи dtd
- •3.5. Форма записи объявления типа элемента
- •3.6. Описание содержимого элемента
- •3.7. Задание содержимого элемента
- •3.8. Задание смешанного содержимого
- •Лабораторная работа №4
- •3.8. Форма записи объявления списка атрибутов
- •3.9. Тип атрибута
- •3.10. Задание атрибута маркерного типа
- •3.11. Задание атрибута нумерованного типа
- •3.12. Объявление значения по умолчанию
- •Лабораторная работа №5
- •3.13. Использование внешних подмножеств dtd
- •3.14. Использование внешних и внутренних подмножеств dtd одновременно
- •3.15. Условия игнорирования разделов внешнего подмножества dtd
- •Лабораторная работа №6
- •3.16. Преобразование корректно сформированного документа в валидный
- •Тема 4. Определение и использование примитивов
- •4.1. Определения и классификация примитивов
- •4.2. Типы примитивов
- •4.3. Объявление общего внутреннего разбираемого примитива
- •4.4. Объявление общего внешнего разбираемого примитива
- •4.5. Объявление общего внешнего не разбираемого примитива
- •4.6. Объявление нотаций
- •Лабораторная работа №7
- •4.7. Объявление параметрического внутреннего разбираемого примитива
- •4.8. Объявление параметрического внешнего разбираемого примитива
- •4.9. Вставка ссылок на примитив
- •4.10. Ссылка на примитив. Пример 1
- •4.11. Ссылка на примитив. Пример 2
- •4.12. Вставка ссылок на символы
- •4.13. Использование предварительно определённых примитивов
- •4.14. Объявление документа автономным (standalone)
- •Лабораторная работа №8
- •Тема 5. Таблицы каскадных стилей
- •5.1. Создание файла таблицы стилей
- •5.2. Нечувствительность к регистру в css
- •5.3. Наследование установок свойств
- •5.4. Использование множественных элементов и множественных правил
- •5.5. Использование контекстуальных селекторов
- •5.6. Использование атрибута style
- •5.7. Импорт других таблиц стилей
- •5.8. Задание значений url
- •5.9. Связывание таблицы стилей с xml-документом
- •5.9. Присвоение значений в таблицах каскадных стилей
- •5.10. Установка свойства display
- •5.11. Задание ключевых слов css в качестве значений
- •5.12. Установка свойства font-family
- •5.13. Установка свойства font-size
- •Задание размера шрифта относительно размера шрифта браузера
- •5.14. Установка свойства font-style
- •Ключевые слова, используемые для свойства font-style
- •5.15. Установка свойства font-weight
- •Ключевые слова, используемые для свойства font-weight
- •5.16. Установка свойства font-variant
- •Ключевые слова, используемые для свойства font-variant
- •5.17. Установка свойства color
- •5.18. Установка свойства background-color
- •5.19. Установка свойства background-image
- •5.20. Установка свойства background-repeat
- •5.21. Установка свойства background-position
- •5.22. Установка свойства letter-spacing
- •5.23. Установка свойства vertical-align
- •Ключевые слова, используемые для свойства vertical-align
- •5.24. Установка свойства text-align
- •5.25. Установка свойства text-indent
- •5.26. Установка свойства line-height
- •5.27. Установка свойства text-transform
- •Ключевые слова, используемые для свойства text-transform
- •5.28. Установка свойства text-decoration
- •Ключевые слова, используемые для свойства text- decoration
- •5.29. Установка свойств управоения полями
- •5.30. Установка свойства border-style
- •Ключевые слова, используемые для свойства border-style
- •5.31. Установка свойства border-width
- •Ключевые слова, используемые для свойства border-width
- •5.31. Установка свойства border-color
- •5.32. Установка свойств просвета между обрамлением и текстом
- •5.33. Установка свойств размеров
- •5.34. Установка свойства позиционирования float
- •Ключевые слова, используемые для свойства float
- •5.35. Установка свойства позиционирования clear
- •Ключевые слова, используемые для свойства clear
- •5.36. Вставка элементов html в xml-документы и использование пространства имён
- •Тема 6. Связывание данных
- •6.1. Основные шаги при связывании данных
- •6.1. Шаг первый: установка связи xml-документа с html-страницей
- •6.2. Как хранятся данные xml
- •6.3. Проверка на наличие ошибок
- •6.4. Шаг второй: сцепление html-элементов с xml-элементами. Использование табличного сцепления
- •6.5. Использование одной html-таблицы для отображения простого набора записей
- •6.6. Использование постраничного отображения
- •Методы перемещения по записям таблицы
- •6.7. Использование вложенных таблиц для отображения иерархической структуры записей
- •Лабораторная работа №9
- •6.8. Использование связывания данных по одной записи
- •6.9. Перемещение между записями
- •Методы объекта recordset
- •6.10. Другие способы связывания данных
- •Сцепляемын html-элементы (за исключением элемента table)
- •6.11. Связывание с другими html-элементами
- •6.12. Передача html-разметки
- •6.13. Обновление накопленных данных
- •Методы объекта recordset
- •6.14. Использование dtd при сявзывании данных
- •6.15. Связывание html-элементов с xml-атрибутами
- •Лабораторная работа №10
- •6.16. Использование сценариев для dso
- •Тема 7. Сценарии объектной модели документа
- •7.1. Связывание xml-документа с html-страницей
- •7.2. Структура dom
- •7.3. Доступ и отображение элементов xml-документа
- •Полезные свойства и методы, предоставляемые узлами Document/
- •7.4. Использование объекта NodeList
- •7.5. Извлечение символьных данных элемента
- •7.6. Отображение переменного числа xml-элементов
- •7.7. Использование других способов доступа к элементам
- •Лабораторная работа №11
- •7.8. Доступ и отображение значений атрибутов в xml-документе
- •7.9. Доступ к примитивам и нотациям xml
- •Лабораторная работа №12
- •7.10. Перемещение внутри xml-документа
- •7.11. Проверка валидности xml-документа
- •Тема 8. Xsl-таблицы стилей
- •8.1. Основы использования xsl-таблиц стилей
- •8.2. Использовании одного шаблона xsl
- •8.3. Отображение переменного числа элементов
- •8.4. Использование нескольких шаблонов
- •Лабораторная работа №13
- •8.5. Фильтрация и сортировка данных xml
- •8.6. Доступ к атрибутам xml
- •Лабораторная работа №14
- •Тема 9. Описание схемы документа на языке xsd
- •9.1. Встроенные простые типы xsd
- •9.1.1. Вещественные числа
- •9.1.2. Целые числа
- •9.1.3. Строки символов
- •9.1.4. Дата и время
- •9.1.5. Двоичные типы
- •9.1.6. Прочие встроенные простые типы
- •9.2. Определение простых типов
- •9.2.1. Сужение
- •9.2.2. Список
- •9.2.3. Объединение
- •9.3. Обявление элементов и их атрибутов
- •9.4. Определение сложных типов
- •9.4.1. Определение типа пустого элемента
- •Лабораторная работа №15
- •9.4.2. Определение типа элемента с простым телом
- •9.4.3. Определение типа вложенных элементов
- •9.5. Определение типа со сложным телом
- •9.6. Безымянные типы
- •9.7. Пространства имён языка xsd
- •9.8. Включение файлов схемы в другую схему
- •9.9. Связь документа xml со своей схемой
- •Лабораторная работа №16
- •Вопросы для тестирования
- •Список литературы
Лабораторная работа №16
Создайте XSD-схему, в которой описываются элементы и атрибуты для XML-документа из лабораторной работы №5. Постарайтесь использовать безымянные типы элементов и сделайте пространство имён для описания элементов и атрибутов пространством по умолчанию.
Свяжите XML-документ с созданной XSD-схемой.
Сохраните оба файла в папке под своей фамилией.
Для отображения XML-документа в браузуре воспользуйтесь одним из способов (таблица стилей CSS, объект DSO, структура DOM, таблица стилей XSL) по согласованию с преподавателем.
Откройте XML-документ в браузере.
При появлении сообщений об ошибках, постарайтесь их найти и устранить.
Сдайте работы преподавателю.
Вопросы для тестирования
Какой из документов является корректным?
<?xml version=”1.0”?>
<zzz>
<xxx> раз </xxx>
</zzz>
</?xml>
<?xml version=”1.0”?>
<zzz>
<xxx> раз </xxx>
</zzz>
<?xml version=”1.0”?>
<zzz>
<xxx> раз </xxx>
</zzz>
<zzz>
<xxx> два </xxx>
</zzz>
<xml version=”1.0”>
<zzz>
<xxx> раз </xxx>
</zzz>
</xml>
Содержимое какого из элементов ZZZ записано без ошибки?
<ZZZ> a<b </ZZZ>
<ZZZ> a>b </ZZZ>
<ZZZ> a&b </ZZZ>
<ZZZ> a<>b </ZZZ>
Где правильно вставлен раздел CDATA?
<zzz atr=”xxx”> <![CDATA[<html>]]> </zzz>
<zzz atr=”xxx” <![CDATA[<html>]]>> Привет </zzz>
<zzz atr=”xxx” <![CDATA[<html>]]>«> Привет</zzz>
<zzz atr=”xxx”> Привет </zzz <![CDATA[<html>]]>>
Какой XML-документ соответствует DTD, представленному на рисунке 1?
Рисунок 1
<?xml version=”1.0”?>
<count>
<one> раз </one>
<three> три </three>
</count>
<?xml version=”1.0”?>
<count>
<two> два </two>
<three> три </three>
</count>
<?xml version=”1.0”?>
<count>
<one> раз </one>
<two> два </two>
<three> три </three>
</count>
<?xml version=”1.0”?>
<count>
<two> два </two>
</count>
Какой XML-документ соответствует DTD, представленному на рисунке 2?
Рисунок 2
<?xml version=”1.0”?>
<count>
<one> раз </one>
<two> два </two>
<one> раз </one>
</count>
<?xml version=”1.0”?>
<count>
<one> раз </one>
<one> раз </one>
<two> два </two>
</count>
<?xml version=”1.0”?>
<count>
<two> два </two>
</count>
<?xml version=”1.0”?>
<count>
<two> два </two>
<one> раз </one>
</count>
Какой XML-документ не соответствует DTD, представленному на рисунке 3?
Рисунок 3
<?xml version=”1.0”?>
<count>
<zzz one=”семь” three=”пять”> два </zzz>
</count>
<?xml version=”1.0”?>
<count>
<zzz two=”четыре” three=”три”> два </zzz>
</count>
<?xml version=”1.0”?>
<count>
<zzz one=”семь” two=”четыре”> два </zzz>
</count>
<?xml version=”1.0”?>
<count>
<zzz one=”один” three=”пять”> два </zzz>
</count>
Какой тип общего примитива не поддерживается в XML?
Внутренний разбираемый.
Внутренний неразбираемый.
Внешний разбираемый.
Внешний неразбираемый.
К какому типу примитивов относится объявленный ниже примитив?
<!ENTITY count
“Счёт
<one> раз </one>”>
К общему внутреннему разбираемому.
К общему внутреннему неразбираемому.
К параметрическому внутреннему разбираемому.
К параметрическому внешнему разбираемому.
Какой символ используется для обозначения ссылки на примитив?
@
#
&
$
Для создания какого типа примитива используется файл с расширением dtd?
Для общего внутреннего разбираемого.
Для общего внутреннего неразбираемого.
Для параметрического внутреннего разбираемого.
Для параметрического внешнего разбираемого.
В каком фрагменте допущена ошибка при определении типа?
<xsd:simpleType name=”zzz”>
<xsd:restriction base=”xsd:positiveInteger”>
<xsd:maxInclusive value=”10” />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name=”zzz”>
<xsd:restriction base=”xsd:positiveInteger”>
<xsd:maxOccurs value=”10” />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name=”zzz”>
<xsd:restriction base=”xsd:positiveInteger”>
<xsd:totalDigits value=”10” />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name=”zzz”>
<xsd:restriction base=”xsd:positiveInteger”>
<xsd:maxExclusive value=”10” />
</xsd:restriction>
</xsd:simpleType>
Какое объявление атрибута элемента сделано с ошибкой?
<xsd:attribute name=”zzz” type=”short” use=”implied” />
<xsd:attribute name=”zzz” type=”token” use=”prohibited” />
<xsd:attribute name=”zzz” type=”float” use=”optional” />
<xsd:attribute name=”zzz” type=”anyURI” use=”required” />
Какой компонент не используется при определении элементов простого типа?
list
extension
union
restriction
В каком компоненте restriction при объявлении элемента простого типа допущена ошибка?
<xsd:restriction base=”xsd:string”>
<xsd:pattern value=”[a-z]{5}” />
<xsd:enumeration value=”small” />
</xsd:restriction>
<xsd:restriction base=”xsd:decimal”>
<xsd:totaldigits value=”5” />
<xsd:fractionDigits value=”2” />
</xsd:restriction>
<xsd:restriction base=”xsd:decimal”>
<xsd:totaldigits value=”3” />
<xsd:maxInclusive value=”100” />
</xsd:restriction>
<xsd:restriction base=”xsd:positiveInteger”>
<xsd:maxExclusive value=”5” />
<xsd:minExclusive value=”2” />
</xsd:restriction>
Какой атрибут используется вместе с компонентом list при определении элементов списочного типа?
base
itemType
value
name
При определении какого типа элемента используется компонент “simpleContent”?
При определении элементов простого типа.
При определении пустого элемента сложного типа.
При определении элемента с простым телом.
При определении элемента со сложным телом.
Какой компонент не используется для определения модели группы элементов, вложенных в элемент сложного типа?
sequence
all
choise
extension
Для чего используется компонент “restriction” при определении типа элемента со сложным телом.
Для добавления элемента.
Для удаления элемента.
Для расширения типа базового элемента.
Для уточнения типа базового элемента.
Для чего используется атрибут “targetNamespace”?
Для задания в схеме пространства имён типов и элементов.
Для указания пространства имён при включении элементом “include” файлов одной схемы в другую.
Для задания пространства имён по умолчанию.
Для связывания XML-документа с файлом схемы.
Когда не используется атрибут “schemaLocation”?
При включении файлов одной схемы в другую.
При импортировании файлов одной схемы в другую.
При связывании файла схемы и XML-документа, который не принадлежит никакому пространству имён.
При связывании файла схемы и XML-документа, который принадлежит некоторому пространству имён.
Какой HTML-элемент сцепляется с XML-элементами при связывании данных?
<td>
<span>
<th>
<tr>
В каком случае HTML-элемент “checkbox”, сцеплённый c XML-элементом будет очищен?
Когда содержимым XML-элемента будет число.
Когда содержимым XML-элемента будет символ.
Когда содержимым XML-элемента будет слово «true».
Когда содержимое XML-элемента будет пустым.
Какой атрибут HTML-элемента испльзуется для обработки HTML-разметки XML-элемента?
datasrc
dataformatas
datafld
type
Какой атрибут используется с тэгом “<table>” для постраничного отображения XML-элементов при помощи сценария?
pagesize
datapagesize
datapagenumber
pagenumber
Что будет выведено в окне сообщения, созданного в сценарии строкой
alert(Document.childNodes(1).nodeValue);
для XML-документа, представленного справа?
Объявление XML-документа
Комментарий
Корневой элемент “<book>”
Вложенный элемент “<title>”
Для чего используется свойство DOM “documentElement”?
Для доступа к любому элементу XML-документа.
Для доступа к корневому элементу XML-документа.
Для доступа ко всему XML-документу.
Для доступа к первому элементу, вложенному в корневой элемент XML-документа.
К какому компоненту XML-документа нельзя применить свойство “attributes”?
К внутреннему DTD.
К внешнему DTD.
К внешнему примитиву.
К имени и значению в инструкции по обработке.
Где правильно указана ссылка на атрибут “nal” элемента “<book>” при осуществлении фильтрации данных XML-документа при помощи XSL-таблицы стилей?
<xsl:for-each select=”bibl/book[@nal='Да']”>
<xsl:for-each select=”bibl/book/@nal='Да'”>
<xsl:for-each select=”bibl/book[$nal='Да']”>
<xsl:for-each select=”bibl/book/$nal='Да'”>
С каким элементом XSL-таблицы стилей может использоваться атрибут “order-by” для осуществления сортировки данных XML-документа?
xsl:value-of
xsl:template
xsl:stylesheet
xsl:apply-templates
Какой атрибут XSL-таблицы стилей используется для задания шаблона отображения XML-элементов?
match
select
style
xmlns:xsl