Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






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



 

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

 

<! ENTITY ИмяПримитива SYSTEM СистемЛитерал NDATA ИмяНогации>

 

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

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

Ключевое слово NDATA указывает, что файл примитива содержит не разбираемые данные (они не обрабатываются синтаксическим анализатором).

Имя Нотации есть имя нотации, объявленной в DTD. Нотация описывает формат данных, содержащихся в файле примитива, или указывает на местонахождение программы, которая может обрабатывать эти данные.

Файл не разбираемого внешнего примитива может содержать любой тип текста или не текстовые данные. Они должны, конечно, соответствовать описанию формата, определяемого соответствующей нотацией.

Например, DTD в следующем XML-документе определяет файл Faun.gif (который содержит рисунок обложки книги) как общий внешний не разбираемый примитив с именем faun. Имя нотации этого примитива - GIF. Она указывает на местонахождение программы, которая отображает графические файлы в формате GIF (ShowGif.exe). DTD также определяет пустой элемент с именем СОVERIMAGE и атрибут типа ENTITY для этого элемента с именем Source:

<?xml version="1.0"?>

<!DOCTYPE BOOK

[

<!ELEMENT BOOK (TITLE, AUTHOR, COVERIMAGE)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ELEMENT COVERIMAGE EMPTY>

<!ATTLIST COVERIMAGE Source ENTITY #REQUIRED>

<!NOTATION GIF SYSTEM "ShowGif.exe">

<!ENTITY faun SYSTEM "Faun.gif NDATA GIF>

]

>

<BOOK>

<TITLE>Картинки природы<TITLE>

<AUTHOR>Фёдор Петров</AUTHOR>

<COVERIMAGE Source="faun" />

</BOOK>

 

В элементе Документ атрибуту Source элемента COVERIMAGE присвоено имя внешнего примитива, который содержит графические данные для отображения рисунка обложки. Поскольку Source имеет тип ENTITY, ему можно присвоить имя общего внешнего не разбираемого примитива. Фактически единственный способ использования этого типа примитива состоит в присвоении его имени атрибуту с типом ENTITY или ENTITIES.



В отличие от файла внешнего разбираемого примитива, к файлу внешнего не разбираемого примитива XML-процессор прямого доступа не имеет. Процессор просто делает примитив и его нотацию доступными приложению, которое может выполнять необходимые действия с этой информацией. (Например, оно может запустить программу, ассоциированную с нотацией, и указать ей отобразить данные из файла примитива.).

 

Объявление нотаций

 

Нотация описывает определенный формат данных. Это делается путем указания адреса описания формата, адреса программы, которая может обрабатывать данные в этом формате, либо просто описание формата. Нотацию можно использовать для того, чтобы описать формат общего внешнего не разбираемого примитива (см. в предыдущем разделе), либо можно присвоить нотацию атрибуту, который имеет нумерованный тип NOTATION (см. раздел “Задание нумерованных типов”). Нотация имеет следующую форму записи:

 

<!NOTATION ИмяНотации SYSTEM CистемЛитерал>

 

Здесь Имя Нотации есть имя нотации. Можно выбрать любое имя, при условии, что оно начинается с буквы или символа подчеркивания (_), после чего могут идти или не идти другие буквы, цифры, точки (.), тире (-) или символы подчеркивания. Лучше выбирать информативное имя, позволяющее идентифицировать формат. Например, при определении нотации, описывающей точечный формат (bitmap), следует использовать имя BMP.

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



· URI программы, которая может обрабатывать или отображать формат данных, как в следующих примерах:

 

<!NOTATION BMP SYSTEM "Pbrush.exe">

<!NOTATION GIF SYSTEM "http://bogus.com/ShowGif.exe">

 

· URI документа в сети, который описывает формат данных, например:

 

<!NOTATION STRANGEFORMAT SYSTEM "http://bogus.com/

StrangeFormat.htm">

 

· Простое описание формата, например:

<!NOTATION GIF SYSTEM "Graphic Interchange Format">

 

Лабораторная работа №7

 

1. Для объявления всех элементов и атрибутов в XML-документе из лабораторной работы №6 воспользуйтесь только внутренним DTD.

2. Вставьте элемент для описания специальности, получаемой студентами в группе.

3. Содержимое данного элемента объявите при помощи общего внутреннего разбираемого примитива.

4. Элемент, содержимым которого является дата поступления в вуз, объявите при помощи общего внешнего разбираемого примитива.

5. Для отображения документа в браузере создайте новую таблицу какскадных стилей, предварительно согласовав её с преподавателем.

6. Сохраните созданный документ в папке под своей фамилией.

7. Закройте текстовый редактор “Блокнот”.

8. Откройте для просмотра созданный XML-документ в браузере Internet Explorer.

9. При появлении сообщений об ошибках, постарайтесь их найти и устранить.

10.Сдайте работу преподавателю.

 

 


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!