Сущности

advertisement
Сущности
- это единые и неделимые блоки
информации, не анализируемые xml –
процессором
1.
2.
3.
4.
5.
Рисунки
Аудио- и видеофайлы
Документы, обрабатываемые спец. Приложениями
Блоки часто обновляемой информации
Др.
Сущности
Можно применять обозначение этой сущности
после объявления ее в DTD блоке при
помощи кл. слова ENTITY
По типу выделяют сущности:
1.
2.
3.
Текстовые
Бинарные
Параметрические
По месту определения
1.
2.
Внешние
внутренние
Сущности
Объявление сущности:
Пример текстовой сущности:
<!ENTITY cp “copyright disclaimer”>
Здесь:
•
•
•
ENTITY - кл. слово
сp – наименование сущности, ее псевдоним
copyright disclaimer – значение сущности
• В тексте для вызова для вызова
сущности cp используем &cp
Сущности
• В ASCII наборе есть несколько наборов,
кот. не м.б. в явном виде вставлены в
текст xml-документа:
>, <, &, ‘,’, “,”
• Используем:
&gt, &lt, &amp, &apos, &quot
Бинарные сущности
По определению являются внешними.
Позволяют встраивать в текст xml – документа любые
внешние файлы (графические, файлы MS Office и т.п.)
Пример (графический gif-файл):
<!ENTITY picture SYSTEM “image/pic1.gif” NDATA gif>
Здесь:
SYSTEM – ключевое слово, после кот. указывается URL
подключаемого файла
Бинарные сущности
Для каждого типа файлов, применяемого в оформлении
документов, необходимо уточнить программу,
применяемую для обработки данного типа файлов. Для
этих целей применяется механизм NOTATION
В DTD-блоке должны объявить:
<!NOTATION gif SYSTEM “http://mysite.ru/progs/gifview.exe”>
Т.е. Для обработки файлов gif необходимо вызвать приложение gifview.exe
Бинарные сущности
Можно собирать объемлющий xml-документ из других документов:
<!xml version=“1.0”>
<!DOCTORTYPE body [
<!ENTITY doc1 SYSTEM “http://www.parts.ru/part1.xml”>
<!ENTITY doc2 SYSTEM “http://www.parts.ru/part2.xml”>
<!ENTITY doc3 SYSTEM “http://www.parts.ru/part3.xml”>
]>
В теле документа:
<body>
&doc1;
&doc2;
&doc3;
</body>
Параметрические сущности
• Применяются для обозначения часто
обновляемых групп атрибутов или
содержания элемента
• Объявляются и вызываются внутри DTDблока
• Для вызова перед их псевдонимом нужно
поставить не &, а % (при объявлении
отделяем пробелом)
Параметрические сущности
Пример: необходимо объявить 2 разных элемента, причем у каждого из них
частично будут совпадать наборы атрибутов. Совпадающую часть объявим
как параметрическую сущность
<!ENTITY % common_atts “
last_modified CDATA #IMPLIED
description CDATA #IMPLIED
id ID #REQUIRED”>
<!ELEMENT el_first (#PCDATA)>
<!ELEMENT el_second (#PCDATA)>
<!ATTLIST el_first
spesial_attribute CDATA #IMPLIED
%common_atts;>
<!ATTLIST el_second
sex (male|female)
%common_atts;)>
Внутренние сущности
Механизм объявления:
Вся информация, входящая во внутреннюю
сущность, находится внутри одного
DTD. Для декларирования внутренней
сущности необходимо после псевдонима
сущности указать само содержимое
сущности
Внешние сущности
Механизм объявления:
После псевдонима нужно дополнительно указать тип ссылки на содержимое
сущности
Содержимое сущности:
* обычное; * стандартизованное
Обычный внешний ресурс: ключевое слово SYSTEM, URL
ресурса
Стандартизовано (ISO): ключевое слово PUBLIC,
официальное наименование ресурса, URL
содержимого
Внешние и внутренние
сущности: пример
Пример: три декларации: 1ая объявляет обычную внутреннюю
сущность, 2ая – нестандартизованную внешнюю бинарную
сущность, 3я – внешнюю сущность, одобренную ISO:
<!ENTITY cp “All rights protected”>
<!ENTITY pis SYSTEM
http://www.graphics.com/images/c3.gif NDATA gif”>
<!ENTITY firm PUBLIC “+//New Boundaries//Sweet
Immersing//EN” “http://www.bound.com/dtd/f.xml”>
Условные обозначения
• - специальные элементы DTD, позволяющие
ассоциировать тип файла, встраиваемого в
значимое содержимое xml-файла с
приложением, которое будет обрабатывать эти
файлы
• Объявляется при помощи кл. слова
NOTATION, после него – наименование типа
файла без кавычек, потом URL
обрабатывающего приложения. Все
приложения являются внешними ресурсами,
поэтому используем SYSTEM или PUBLIC
Комментарии
Ограничиваются последовательностями
символов <!– и -- >
Пример:
<- - Это комментарий - - >
Условные обозначения
Пример связки внешней бинарной сущности и соответствующего ей
условного обозначения. Внешняя сущность ссылается на
графический файл, а условное обозначение задает URL приложения
<!ENTITY pict SYSTEM
http://www.graphix.net/images/c2.gif
NDATA gif”>
<!NOTATION gif SYSTEM
“file://c:/Program
Files/acdsystem/acdsee.exe”>
Download