Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
k5.doc
Скачиваний:
10
Добавлен:
13.11.2019
Размер:
287.23 Кб
Скачать

Использование внешних подмножеств dtd

Описания типа документа, рассмотренные нами в этой лекции, полностью содержатся внутри объявления типа документа в составе документа. Такой тип DTD называется внутренним подмножеством DTD.

Вы также можете поместить все или часть DTD документа в отдельный файл, а затем ссылаться на этот файл из объявления типа документа. DTD – или часть DTD – содержащаяся в отдельном файле, называется внешним подмножеством DTD.

Примечание. Применение внешнего подмножества DTD имеет смысл главным образом для DTD, которые являются общими для целой группы документов. Каждый документ может ссылаться на один файл DTD (или копию этого файла) как на внешнее подмножество DTD. При этом вам не надо копировать содержимое DTD в каждый использующий его документ, а также облегчается внесение изменений в DTD. (Вам требуется модифицировать только файл DTD – и все копии этого файла – вместо того, чтобы редактировать все документы, которые его используют.) Как вам известно из лекции 1, многие стандартные XML-приложения основаны на общем DTD, включаемом во все XML-документы, отвечающие этому приложению. (См. разделы "Стандартные XML-приложения" и "Реальное использование XML" в лекции 1.)

Использование только внешнего подмножества dtd

Чтобы использовать только внешнее подмножество DTD, опустите блок объявлений разметки, ограниченных квадратными скобками ([]), и вместо этого включите ключевое слово SYSTEM, после которого в кавычках должно следовать описание местонахождения отдельного файла, содержащего DTD. Рассмотрим, например, документ SIMPLE, используемый ранее в этой лекции и имеющий внутреннее подмножество DTD:

<?xml version="1.0"?>

<!DOCTYPE SIMPLE

[

<!ELEMENT SIMPLE ANY>

]

>

<SIMPLE> This is an extremely simplistic XML document. </SIMPLE>

Если в этом документе используется внешнее подмножество DTD, он будет иметь следующий вид:

<?xml version="1.0"?>

<!DOCTYPE SIMPLE SYSTEM "Simple.dtd">

<SIMPLE> This is an extremely simplistic XML document. </SIMPLE>

Файл Simple.dtd должен иметь следующее содержимое:

<!ELEMENT SIMPLE ANY>

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

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

Системный литерал задает унифицированный идентификатор ресурса (URI – uniform resource identifier) файла, содержащего внешнее подмножество DTD. В настоящее время URI практически аналогичен стандартному Internet-адресу, известному как унифицированный указатель ресурса (URL – Uniform Resource Locator). Вы можете использовать полностью прописанный URI, подобно следующему:

<!DOCTYPE SIMPLE SYSTEM " HYPERLINK "http://bogus.com/dtds/Simple.dtd"

http://bogus.com/dtds/Simple.dtd">

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

<!DOCTYPE SIMPLE SYSTEM "Simple.dtd">

Примечание. URI представляет собой чрезвычайно гибкую систему нотации для адресации ресурсов. Одним из типов URI является URL (Uniform Resource Locator), обычно используемый в Internet (например, http://bogus.com/documents/Simple.dtd. Аналогично, если бы XML-документ был расположен в HYPERLINK file:///C:\\XML ile:///C:\XML Step by Step\Example Code\Simple.xml, "Simple.dtd" ссылался бы на HYPERLINK file:///C:\\XML ile:///C:\XML Step by Step\Example Code\Simple.dtd.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]