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

Дисциплины:

Архитектура (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)






Общие внутренние и внешние примитивы DTD



Цель работы:

Изучить общие внутренние и внешние примитивы DTD

Xод работы:

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

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

<!ENTITY ИмяПримитива ЗначениеПримитива>

Следующее DTD определяет общий внутренний разбираемый примитив с именем title:

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA | SUBTITLE)*>

<!ELEMENT SUBTITLE (#PCDATA)>

<!ELEMENT INTRODUCTION (#PCDATA)>

<!ELEMENT SECTION (#PCDATA)>

<!ENTITY title

"The Story of XML

<SUBTITLE>The Future Language of the Internet</SUBTITLE>">

]

>

Примитив title содержит символьные данные плюс элемент (SUBTITLE). В соответствии с объявлением в DTD это содержимое может быть корректно вставлено только в элемент TITLEPAGE, как показано ниже:

<TITLEPAGE>

Title: &title;

Author: Michael Young

</TITLEPAGE>

XML-процессор заменит ссылку на примитив (&title;) содержимым примитива и обработает содержимое, как если бы вы непосредственно набрали его в документе в позиции ссылки, подобно следующему:

<TITLEPAGE>

Title: The Story of XML

<SUBTITLE>The Future Language of the Internet</SUBTITLE>

Author: Michael Young

</TITLEPAGE>

 

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

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

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

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

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

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

<!ENTITY abstract SYSTEM "Abstract.xml">

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

<!DOCTYPE ARTICLE

[

<!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)>

<!ELEMENT TITLEPAGE (#PCDATA)>

<!ELEMENT INTRODUCTION ANY>



<!ELEMENT SECTION (#PCDATA)>

<!ENTITY topics SYSTEM "Topics.xml">

]

>

 

Вот содержимое файла Topics.xml:

<HEADING>Topics</HEADING>

The Need for XML

The Official Goals of XML

Standard XML Applications

Real-World Uses for XML

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

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

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

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

<?xml version="1.0" encoding="windows-1251" ?>

<!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>The Marble Faun</TITLE>

<AUTHOR>Nathaniel Hawthorne</AUTHOR>

<COVERIMAGE Source="faun" />

</BOOK>

Создайте XML –документ с общими внутренними сущностями, для этого сделайте следующее:

1. Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже



Листинг 2.6

<?xml version = "1.0" standalone="yes"?>

<!DOCTYPE DOCUMENT [

<!ELEMENT DOCUMENT (CUSTOMER)*>

<!ELEMENT CUSTOMER (NAME.DATE.ORDERS)>

<!ELEMENT NAME (LAST_NAME.FIRST_NAME)>

<!ELEMENT LAST_NAME (#PCDATA)>

<!ELEMENT FIRST_NAME (#PCDATA)>

<!ELEMENT DATE (#PCDATA)>

<!ELEMENT ORDERS (ITEM)*>

<!ELEMENT ITEM (PRODUCT.NUMBER.PRICE)>

<!ELEMENT PRODUCT (#PCDATA)>

<!ELEMENT NUMBER (#PCDATA)>

<!ELEMENT PRICE (#PCDATA)>

<!ENTITY TODAY "October 15, 2003">

]>

<DOCUMENT>

<CUSTOMER>

<NAME>

<LAST_NAME>Smi th</LAST_NAME>

<FIRST_NAME>Sam</FIRST_NAME>

</NAME>

<DATE>&TODAY;</DATE>

<ORDERS>

<ITEM>

<PRODUCT>Tomatoes</PRODUCT>

<NUMBER>8</NUMBER>

<PRICE>$1.25</PRICE>

</ITEM>

</ORDERS>

</CUSTOMER>

</DOCUMENT>

2. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя VnEl. xml

3. Откройте файл в вашем браузере и вас ложно получится то что представлено на рисунке 2.10

Рисунок 2.10


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

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