- •Лабораторная работа 4-01
- •3.1.2. Объявления
- •3.1.3. Элемент
- •3.1.4. Инструкция по обработке
- •3.1.5. СекцииCdata
- •3.1.6. Ссылки
- •3.1.7. Комментарии
- •3.2. Объявление типа документа (dtd)
- •3.2.1. Структура dtd
- •3.2.2. Определение элемента
- •3.2.3. Определение атрибутов элемента
- •3.2.4. Определение сущности
- •3.2.5. Определение нотации
- •3.3. Программа xmlSpy2006HomeEdition
- •3.3.1. Общие сведения о xmlSpy2006HomeEdition
- •3.3.2. Установка xmlSpy
- •3.3.3. Работа с xmlSpy
- •3.3.3.1. Компоненты xmlSpy
- •3.3.3.2. Создание dtd документа xml
- •3.3.3.3. Создание нового документа xml
- •3.3.3.4. Другие операции с документами xml и dtd
- •3.4. Назначение схем xml
- •3.5. Типы данных схемы xml
- •3.5.1. Встроенные примитивные типы данных схемы xml
- •3.5.2. Встроенные производные типы данных схемы xml
- •3.5.3. Свойства данных схемы xml
- •3.5.3.1. Фундаментальные свойства
- •3.5.3.2. Ограничивающие свойства
- •3.5.3.3. Ограничивающие условия для встроенных типов данных схемыXml
- •3.6. Компоненты схемыXml
- •3.6.1. Первичные компоненты схемы xml
- •3.6.1.1. Определения простого типа
- •3.6.1.2. Определения комплексного типа
- •3.6.1.3. Объявления атрибутов и элементов
- •3.6.2. Вторичные компоненты схемы xml
- •3.6.2.1. Определение группы атрибутов и группы моделей
- •3.6.2.2. Определения ограничений
- •3.6.2.3. Объявление нотации
- •3.6.3. Справочные компоненты схемы xml
- •3.6.3.1. Аннотации
- •3.6.3.2. Определения моделей в группе
- •3.6.3.3. Определения шаблонов
- •3.6.4. Определение ограничивающих свойств
- •3.6.5. Компоненты схемы в целом
- •3.6.6. Назначение атрибутов в компонентах схемы xml
- •3.6.7. Допустимые значения атрибутов в компонентах схемыXml
- •3.6.8. Использование регулярных выражений в схемах xml
- •3.6.8.1. Метасимволы
- •3.6.8.2. Ссылки на символы
- •3.6.8.3. Операторы повторения
- •3.6.8.4. Операторы диапазона символов
- •3.6.8.5. Специальные символы
- •3.7. Включение схемы в документ xml
- •3.8. Формирование схем в xmlSpy2006HomeEdition
- •3.8.3.2. Формирование схемы с использованием модели содержимого
- •3.8.3.3. Пример формирование простой схемы
- •4. Порядок выполнения работы
- •Вариант 1-01
- •Вариант 1-02
- •Вариант 1-03
- •Вариант 1-04
- •Вариант 1-05
- •Вариант 1-06
- •Вариант 1-07
- •Вариант 1-08
- •Вариант 1-09
- •Вариант 1-10
- •Вариант 1-11
- •Вариант 1-12
- •Вариант 1-13
- •Вариант 1-14
- •Вариант 1-15
- •Вариант 1-16
- •Вариант 1-17
- •Вариант 1-18
- •Вариант 1-19
- •Вариант 1-20
- •Вариант 1-21
- •Вариант 1-22
- •Вариант 1-23
- •Вариант 1-24
- •Вариант 1-25
- •Вариант 1-26
- •Вариант 1-27
- •Вариант 1-28
- •Вариант 1-29
- •Вариант 1-30
- •5. Содержание отчета
- •6. Вопросы для самоконтроля
3.1.7. Комментарии
XML-документ может содержать комментарии, которые записываются так же, как и в HTML:
<!--текст комментария-->
Текст комментария может состоять из любых символов, кроме двух минусов подряд ("--"). Кроме этого, комментарий не должен заканчиваться символом "-".
3.2. Объявление типа документа (dtd)
3.2.1. Структура dtd
Определение типа документа DTD(DocumentTypeDefinition) является той основой, на которой создаются документыXML.
Определение DTDпредставляет собой набор правил, определяющий инструкции, которые могут быть переданы анализатору (parser) для обработки им этого документа. Анализатор, в свою очередь, отправляет результаты в приложение, обеспечивающее обработку данных (например, просмотр документа).
Объявление типа документа состоит из одного или нескольких правил-ограничений структуры документа. В частности, DTD позволяет задавать следующие правила:
element— определение элемента;
attlist— определение списка атрибутов элемента;
entity— определение сущности;
notation— определение нотации.
Объявление типа документа помещается в начало XML-документа (сразу после объявления документа XML) и имеет следующий синтаксис:
<!DOCTYPE
…
>
Объявление типа документа может быть внутренним и внешним. Во внутреннем DTDправила для элементов задаются следующим образом:
<!DOCTYPEимя[
правила структуры документа
]>
При использовании внешнего DTDпредложениеDOCTYPEимеет один из следующих форматов:
<!DOCTYPE имя SYSTEM "URI">
<!DOCTYPE имя PUBLIC "владелец" "URI">
Можно также дополнять внешние определения внутренними, например:
<!DOCTYPE имя PUBLIC "владелец" "URI" [
правила структуры документа
]>
Здесь параметр имяопределяет имя корневого элемента документа XML. ЗначениеSYSTEMвDTDозначает, что пользователь использует собственное (системное) внешнееDTD, которое загружается с помощьюURI(UniversalResourceIdentifier– универсальный идентификатор ресурса). ВнешнееDTD– это текстовый файл с расширением.dtd, который содержит правила структуры документаXML.
Параметр PUBLICозначает, что в документе используется общедоступноеDTD(например,DTDдля языкаHTML). В этом случае, помимоURI, указывается и объявление владельцаDTDв формате, принятом в языкеSGML. ЕслиDTDявляется стандартомISO(InternationalStandardOrganization– Международная организация стандартизации), то объявление начинается символамиISO. ЕслиDTDне является стандартомISO, но официально принято группой стандартизации, то объявление начинается с символа "+", если жеDTDне принято группой стандартизации – то с символа "-". Далее обычно указывается владелец данногоDTD, наименованиеDTDи языкDTD, разделенные символами "//".
Документы XML, имеющие внутреннее или внешнееDTDи соответствующие требованиям этогоDTD, а также являющиеся правильными документами XML, называютсядействительными (valid) документами XML.
3.2.2. Определение элемента
Определение элемента задает имя и тип содержимого элемента в следующем виде:
<!ELEMENTимя содержимое>
Параметр имязадает имя элемента. В качестве содержимого элемента может быть указано:
EMPTY, в случае, когда элемент обязан быть пустым (без содержимого);
ANY, в случае, когда элемент может содержать что угодно;
список, определяющий элементы-потомки и порядок их следования;
смешанное содержимое.
В случае, когда содержимое элемента с помощью списка, для задания списка элементов используются следующие шаблоны:
a?означает, что элементa может быть пропущен в последовательности;
aозначает, что элементaдолжен присутствовать в последовательности на этом месте ровно один раз;
a*задает последовательность из нуля или более элементовa;
a+задает последовательность из одного или более элементовa.
Кроме того, содержимое может моделироваться как перечисление и выбор элементов.
Элементы перечисляются через запятую в круглых скобках, например (a, b, с)означает последовательность, состоящую из элементовa,bиc. Такая запись означает, что первым должен идти элементa, затем сразу же за ним элементbи элементc.
Выбор элемента задается аналогично перечислению, но в качестве разделителя используется символ "|". При записи выбора и перечисления элементы могут также указываться с использованием модификаторов количества. Помимо этого, формальные правила могут использовать при записи другие формальные правила.
Содержимое элементов может быть смешанным, т.е. включать только символьные данные, которые обозначаются при помощи ключевого слова #PCDATA(parsablecharacterdata– анализируемые символьные данные), либо символьные данные или элементы потомки.
