- •Лабораторная работа 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.2.4. Определение сущности
В документе XMLможно определять свои сущности (внутренние сущности) или использовать сущности, определенные в другом файле (внешние сущности). Ссылка на сущность имеет следующий формат
&имя;
Используемые в документе XMLсущности могут быть двух типов:
анализируемые внешние сущности (parsedentities) –воспринимаются и обрабатываются как данныеXML;
неанализируемые внешние сущности (unparsedentities)–данные, не обрабатываемыеXML(например, изображения или бинарные файлы, которые используются в данном документе).
Внутреннее определение сущности, задаваемое во внутреннем DTD, может быть только анализируемой сущностью и имеет следующий формат
<!ENTITYимя"значение">
где параметр имя задает имя сущности, которое будет использоваться в ссылке на сущность в документе XML, а литерал значение – это значение сущности, на которое будет заменяться ссылка на сущность в документеXML.
Определение внешней анализируемой сущности имеет один из следующих форматов:
<! ENTITY имя SYSTEM "URI">
<! ENTITY имя PUBLIC "владелец" "URI">
В этом определении параметр имя задает имя сущности, а параметры "URI" и"владелец", также как и для определенияDOCTYPEопределяют местонахождение файла со значением сущности и ее владельца. Файл, содержащий значение сущности (без окаймляющих апострофов) обычно имеет расширение.ent. Если в значении сущности используются буквы не латинского алфавита, их необходимо представлять, как сущности символовUnicode.
Для неанализируемой сущности (которая может быть только внешней сущностью) определение имеет один из следующих форматов:
<!ENTITY имя SYSTEM "URI" NDATA имя-нотации>
<!ENTITY имя PUBLIC "владелец" "URI" NDATA имя-нотации>
Здесь параметры имя,"URI" и"владелец" имеют тот же смысл, что и для анализируемой сущности, а параметримя-нотациизадает имя нотации. Нотации определяют формат неанализируемых экземпляров, формат элементов, которые породили атрибут нотации, или приложение, которому адресуется инструкция процесса.
Еще одним видом сущности являются параметрические сущности или сущности-параметры. Сущности этого типа используются только во внешних DTDдля более гибкого описания логической структуры документа. Ссылки на параметрические сущности вDTDимеют следующий вид:
%имя;
Объявление параметрической сущности имеет следующий формат:
<!ENTITY %имя"значение-1 значение-2…">
Параметр имяопределяет имя параметрической сущности, а параметрызначение-iопределяют значения сущностей. В качестве значения сущностей могут использоваться данные типаCDATA, а также параметрические сущности.
3.2.5. Определение нотации
Нотации определяют имена форматов неанализируемых экземпляров, имена форматов элементов, которые породили атрибут нотации, а также имена приложений, используемых для обработки данных формата с заданным именем.
Определение нотации может быть представлено в одном из следующих форматов:
<!NOTATION имя SYSTEM "URI">
<!NOTATION имя PUBLIC "владелец" "URI ">
<!NOTATIONимяPUBLIC "владелец">
Существует два основных способа применения нотаций:
объявление неанализируемых сущностей и использование их имен в атрибутах типа ENTITYилиENTITIES;
указание имени нотации в атрибуте типа NOTATION.
При использовании первого способа определение неанализируемой сущности задает имя определения нотации, в котором, в свою очередь, задается приложение обрабатывающее данную неанализируемую сущность.
Вторым способом использования нотаций является присвоение определенного формата содержимому элемента. Один (но не более чем один) из атрибутов элемента может иметь тип NOTATION. Значением этого атрибута должно быть имя нотации, которое и будет задавать формат содержимого элемента.
