Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

<!DOCTYPE menu [

 <!ELEMENT menu (menuitem*)>

 <!ELEMENT menuitem EMPTY>

 <!ATTLIST menuitem

image ENTITY #REQUIRED

title CDATA #REQUIRED

href CDATA #REQUIRED>

 <!NOTATION gif SYSTEM "gif-viewer.exe">

 <!NOTATION jpg SYSTEM "jpg-viewer.exe">

 <!ENTITY news SYSTEM "news.gif" NDATA gif>

 <!ENTITY products SYSTEM "prod.jpg" NDATA jpg>

 <!ENTITY support SYSTEM "support.gif" NDATA gif>

]>

<menu>

 <menuitem image="news" title="News" href="#"/>

 <menuitem image="products" title="Products" href="#"/>

 <menuitem image="support" title="Support" href="#"/>

</menu>

Проанализируем декларацию типа этого документа.

□ Декларация типа

<!DOCTYPE menu [..] >
говорит о том, что корневым элементом этого документа является элемент
menu
.

□ В соответствии с определением

<!ELEMENT menu (menuitem* )>
этот элемент состоит из нескольких субэлементов
menuitem
.

□ В соответствии с определением

<!ELEMENT menuitem EMPTY>
элемент
menuitem
должен быть пустым.

□ Запись

<!ATTLIST menuitem ... >
определяет в элементе
menuitem
следующие атрибуты:

 • обязательный атрибут

image
, в котором должно указываться имя сущности;

 • обязательный атрибут

title
, содержащий символьные данные;

 • обязательный атрибут

href
, содержащий символьные данные.

□ Запись

<!NOTATION gif SYSTEM "gif-viewer.exe">
определяет нотацию с именем
gif
и закрепляет за ней приложение
gif-viewer.exe
.

□ Запись

<!NOTATION jpg SYSTEM "jpg-viewer.ехе">
определяет нотацию с именем
jpg
и закрепляет за ней приложение
jpg-viewer.exe
.

□ Запись

<!ENTITY news SYSTEM "news.gif" NDATA gif>
определяет внешнюю неразбираемую сущность с именем
news
, которая имеет формат (нотацию)
gif
.

□ Запись

<!ENTITY products SYSTEM "prod.jpg" NDATA jpg>
определяет внешнюю неразбираемую сущность с именем
products
, которая имеет нотацию
jpg
.

□ Запись

<!ENTITY support SYSTEM "support.gif" NDATA gif>
определяет внешнюю неразбираемую сущность с именем
support
, которая имеет нотацию
gif
.

Посмотрим теперь, какую информацию нам дают такие громоздкие определения. Обратимся к записи одного из элементов

menuitem
:

<menuitem image="products" title="Products" href="#"/>

С атрибутами

title
и
href
все ясно: они содержат простые символьные данные. Атрибут
image
несколько сложнее, он предоставляет гораздо больше информации. Типом этого атрибута является
ENTITY
, значит текст, который он содержит, является не просто символьными данными: он задает имя сущности, связанной с данным атрибутом. Иначе говоря, с атрибутом
image
связывается сущность.

Анализируя определение сущности

products
, обрабатывающая программа может понять, что это — неразбираемая внешняя сущность формата
jpg
, которая хранится в файле
prod.jpg
и для обработки которой можно использовать приложение
jpg-viewer.exe
.

Вторым способом использования нотаций является присвоение определенного формата содержимому элемента. Один (но не более чем один) из атрибутов элемента может иметь тип

NOTATION
. Значением этого атрибута должно быть имя нотации, которое и будет задавать формат содержимого элемента.

Пример
Листинг 1.6. Использование нотаций для определения формата содержимого элемента

<!DOCTYPE root [

 <!ELEMENT root (#PCDATA)>

 <!ATTLIST root

type NOTATION (rtf|htm|txt) #REQUIRED>

 <[NOTATION rtf SYSTEM "winword.exe">

 <!NOTATION htm SYSTEM "iexplore.exe">

 <!NOTATION txt SYSTEM "notepad.exe">

  • Читать дальше
  • 1
  • ...
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: