Сущности - это единые и неделимые блоки информации, не анализируемые 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”>