Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лабы / Lab4-01.doc
Скачиваний:
26
Добавлен:
12.05.2015
Размер:
1.28 Mб
Скачать

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. Значением этого атрибута долж­но быть имя нотации, которое и будет задавать формат содержимого элемента.

Соседние файлы в папке Лабы