Основы XML

       

Объявление общего внешнего разбираемого примитива


Объявление для общего внешнего разбираемого примитива имеет следующую форму записи:

<!ENTITY ИмяПримитива SYSTEM СистемЛитерал>

Здесь ИмяПримитива есть имя примитива. Вы можете выбрать любое имя, следуя правилам задания имен для общих примитивов, приведенным в предыдущем разделе.

СистемЛитерал есть системный литерал, который описывает местонахождение файла, содержащего данные примитива. Системный литерал может быть ограничен одинарными (') или двойными (") кавычками и содержать любые символы, кроме символа кавычек, используемого как ограничители.

Системный литерал задает унифицированный идентификатор ресурса (URI) файла, содержащего данные примитива. На сегодняшний день URI практически то же самое, что стандартный Internet-адрес, известный как унифицированный указатель ресурса (URL). Вы можете использовать либо полный URI, например:

<!ENTITY abstract SYSTEM "HYPERLINK 'http://bogus.com/documents/Abstract.xml' http://bogus.com/documents/Abstract.xml">

либо частичный URI, который задает местонахождение относительно местонахождения XML-документа, содержащего URI, например:

<!ENTITY abstract SYSTEM ":Abstract.xml">

Относительные URI в XML-документах работают аналогично относительным URL для HTML-страниц. Для более подробной информации об URI обратитесь к разделу "Использование только внешнего подмножества DTD" в лекции 5.

Файл внешнего примитива может содержать только те составляющие, которые могут быть корректно вставлены в элемент (символьные данные, вложенные элементы и т.д., как описано в разделе "Типы содержимого элемента" в лекции 3). Вы можете вставить общий внешний разбираемый примитив только внутрь содержимого элемента. (Можно включить его в значение в объявлении внутреннего примитива, но затем нужно вставить это содержимое в элемент.)

Например, следующее DTD определяет внешний файл Topics.xml как общий внешний разбираемый примитив:

<!DOCTYPE ARTICLE [ <!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)> <!ELEMENT TITLEPAGE (#PCDATA)> <!ELEMENT INTRODUCTION ANY> <!ELEMENT SECTION (#PCDATA)> <!ENTITY topics SYSTEM "Topics.xml"> ] >



Содержание раздела