Языки описания информации Лекция 2. Кафедра ОСУ ИК ТПУ Весенний семестр 2012/2013 уч. года Описание типов документов.

Презентация:



Advertisements
Похожие презентации
Языки описания информации Лекция 2. Кафедра ОСУ ИК ТПУ Весенний семестр 2012/2013 уч. года Описание типов документов.
Advertisements

DTD Document Type Definition среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013.
XML и XSLT (2) Матросов Александр Васильевич Санкт-Петербургский государственный университет.
Структура XML-документов По материалам курса University of Washington
Презентацию подготовила Гайнутдинова Аида, гр. 950 б.
XML eXtensible Markup Language 1.Определение типа документов (DTD) 2.Язык навигации внутри XML-документа (XPath)
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)
WPF (Windows Presentation Foundation) WPF – новая технология.NET Framework 3.x для создания пользовательских интерфейсов в клиентских приложениях. Одна.
Презентация по дисциплине Программное обеспечение компьютерных сетей Дудко Е.В., преподаватель спец. дисциплин ГБОУ СПО Новороссийского колледжа строительства.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
XML - ПРАВИЛА ПОСТРОЕНИЯ ДОКУМЕНТОВ. Элементы электронного УМК Учебный план Программа дисциплины Структура курса Электронный конспект Обучающие и аттестующие.
Верстка сайтов Введение. Оглавление Основные понятия Тэги и элементы разметки Управление визуальным представлением документа Правила написания кода.
6.5. Создание реляционной БД в среде СУБД ACCESS Общие сведения Реляционные отношения в СУБД ACCESS представлены в двух формах: в виде таблиц и в виде.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Структура HTML- документа. Терминология Элемент - конструкция языка HTML. Это контейнер, содержащий данные и позволяющий отформатировать из определенным.
Ключевые слова 1.WWW 2.Структура Web-страницыHTML 3.HTML-редактор 4.Цветовые схемы 5.гиперссылка.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Язык запросов XML. XML (Extensible Markup Language) - это новый SGML-производный язык разметки документов, позволяющий структурировать информацию разного.
Что такое связи между таблицами В реляционной базе данных связи позволяют избежать избыточности данных. Например, в ходе создания базы данных, содержащей.
Powerpoint Templates Page 1 Язык разметки гипертекста HTML.
Транксрипт:

Языки описания информации Лекция 2. Кафедра ОСУ ИК ТПУ Весенний семестр 2012/2013 уч. года Описание типов документов

План работы Типы документов Data Type Definition Примитивы

Описание синтаксиса языков разметки Метаязык XML предназначен для создания конкретных языков разметки Для конкретных языков разметки определены наилучшим образом подходящие для описываемой информации – наборы элементов; – взаимосвязь между элементами – атрибуты элементов. Для конкретных языков разметки нужно описывать их синтаксис Описание синтаксиса позволяет формальным образом проверять правильность составления XML-документов.

Языки описания синтаксиса В XML-технологии имеется два языка для описания синтаксиса конкретных языков разметки: – язык Document Type Defenition (DTD) – описывает структуру документа с помощью декларативных правил разработан совместно с метаязыком SGML и не использует синтаксис языка XML; – языка XML Schema – описывает структуру документа с использованием синтаксиса языка XML (специально разработан для метаязыка XML).

Формальное описание синтаксиса конкретного языка не является обязательным. Если с помощью конкретного языка разметки требуется разработать только несколько однотипных XML-документов, то формально описывать его синтаксис не обязательно. Если с помощью конкретного языка разметки – создается много XML-документов, или – данный язык разметки используется разными пользователями, то формальное описание синтаксиса желательно.

Правильные XML-документы Правильные (корректно сформированные, well-formed) XML документы соответствуют основным правилам XML документов. Каждый XML-документ должен быть правильным, т.е. отвечать минимальным требованиям по составлению XML-документа. Если документ не является правильным, он не может считаться XML-документом.

Действительные XML-документы Правильный XML-документ также может быть действительным (валидным). Действительные XML-документы соответствуют более строгим критериям. Действительным (валидным, valid) называется правильный (well-formed) документ, отвечающий двум дополнительным требованиям: – пролог документа должен содержать указание на описание синтаксиса данного документа Например: определение типа документа (DTD), задающее структуру документа; – остальной документ должен отвечать структуре, заданной в описании синтаксиса.

Синтаксис – схема В XML-технологии вместо термина «синтаксис» чаще используется термин «схема». Отсюда и название языков: – XML Schema, – RDF Schema.

Что включают схемы конкретных языков разметки? множество допустимых элементов; – если специально не определено, то нельзя использовать другие имена элементов, кроме содержащихся в этом множестве (словарь языка); шаблон каждого элемента, который определяет, – какие элементы или данные могут находиться внутри элемента, – в каком порядке, – сколько их может быть, – являются ли они обязательными; набор разрешенных атрибутов; – каждое объявление атрибута определяет его имя, тип данных, – значения атрибутов по умолчанию (если они есть) и – обязательность из задания.

Язык Document Type Definition Язык Document Type Definition (DTD) используется для описания схем (синтаксиса) конкретных языков разметки. Данный язык был унаследован от языка SGML. Описание конкретного языка разметки с помощью языка DTD может – включаться в XML-документ (внутреннее DTD-описание) – или содержаться в отдельном файле (внешнее DTD- описание). Для включения DTD-описания в начало XML- документа записывается элемент.

Если DTD-описание языка разметки включается в XML-документ, то элемент DOCTYPE записывается следующим образом:

Ссылка на описание синтаксиса документа Если в этом документе используется внешнее DTD- описание (обычно содержащееся в файле с расширением dtd), то DOCTYPE будет иметь следующий вид: – [имя_корневого_элемента] – указывает имя корневого элемента конкретного языка разметки (оно должно в точности соответствовать имени корневого элемента, записанного в XML- документе); – [тип] – может принимать одно из двух значений: SYSTEM – DTD-описание является закрытым, не для общего распространения, PUBLIC – DTD-описание является открытым для общего использования; – [идентификатор] – формальный открытый идентификатор для типа PUBLIC; – [адрес] – адрес файла или URL.

Ссылка на файл с DTD-описанием Если описание конкретного языка разметки, содержится в файле BookDTD, то XML- документ должен включать следующую запись:

Ссылка на DTD-описание опубликованное в сети Ссылка на открытое DTD-описание для конкретного языка XHTML записывается следующим образом:

Объявление типа документа

Форма записи Document Type Definition (DTD) Объявление типа документа имеет следующую обобщенную форму записи: – Имя – название корневого тэга XML документа. – DTD – определение типа документа. DTD состоит из символа левой квадратной скобки [, после которой следует ряд объявлений разметки, заканчивающихся правой квадратной скобкой ]. Объявления разметки описывают логическую структуру документа; т.е. задают элементы документа, атрибуты и другие компоненты. Пример валидного XML-документа, содержащего DTD с единственным объявлением разметки, которое определяет один тип элемента в документе, SIMPLE:

Объявления языка DTD Описание конкретного языка разметки на языке DTD состоит из объявлений, которые описывают логическую структуру документа. Имеются следующие основные типы объявлений: – объявления типов элементов – определяют типы элементов, которые может содержать документ, а также их содержимое и порядок следования элементов; – объявления списков атрибутов – задают имена атрибутов, которые могут быть использованы с определенным типом элемента, а также типы данных и устанавливаемые по умолчанию значения этих атрибутов; – объявления сущностей – используются для описания часто используемых фрагментов текста или для встраивания в XML- документ не текстовых типов данных; – объявления нотаций – могут использоваться для описания форматов внешних данных.

Объявление типов элементов В валидном XML-документе требуется полностью объявить тип каждого элемента, который используется в документе, в объявлении типа элемента внутри DTD. В объявлении типа элемента задается – имя типа элемента и – его допустимое содержимое (в частности, указывает типы и порядок следования элементов, которые данный тип элемента может содержать).

Все объявления типов элементов в DTD аналогичны схеме базы данных – задают полную логическую структуру документа. Объявление типа элемента имеет следующую обобщенную форму: – Имя – имя объявляемого типа элемента; – опись_содержимого – это описание содержимого, определяющего, что может содержать элемент.

Объявление типов элементов В объявлении типа элемента задается – имя элемента и – его допустимое содержимое (часто описывающее порядок размещения дочерних элементов), в частности, указывает типы и порядок следования элементов, которые данный тип элемента может содержать. Объявление типа вложенного элемента имеет следующую общую форму: – [имя] – это имя объявляемого типа элементов; – [содержание] –описание содержимого, определяющего, что может содержать элемент.

Модели содержимого элемента Содержимое элемента (то, что находится между открывающим и закрывающим тэгами элемента) может быть описано четырьмя различными способами (с использованием разных моделей содержимого): Пустое содержимое (EMPTY) – элемент должен быть пустым – т.е. не должен иметь содержимого. Любое содержимое (ANY) – указывает, что элемент может иметь любое допустимое для этого типа содержимое (наиболее неопределенный тип описания содержимого и позволяет создавать типы элементов без ограничений на их содержимое). Дочернее содержимое – элемент может содержать только вложенные элементы, но не может символьные данные (будет рассматриваться далее). Смешанное содержимое – элемент может содержать комбинацию дочерних элементов определенного типа и символьных данных (самый общий вариант описания с ограничением содержимого элементов).

Пустое содержимое EMPTY - пустое содержимое, элемент должен быть пустым – т.е. не должен иметь содержимого. Например: – В этом случае элементы image, могут записываться в XML-документе следующим образом: или

Любое содержимое ANY - любое содержимое, указывает, что элемент может иметь любое допустимое для этого типа содержимое – наиболее неопределенный тип описания содержимого и позволяет создавать типы элементов без ограничений на их содержимое. Например:

Задание дочернего содержимого элемента Элемент с «дочерним содержимым» могут непосредственно содержать только определенные дочерние элементы, но не символьные данные. Пример описания элемента book имеющего дочернее содержимое: В данном случае – элементы book должны иметь только один дочерний элемент title, – за которым следует ровно один дочерний элемент author.

Пример объявления типов элементов Например, объявление типа элемента с именем TITLE, для содержимого которого могут использоваться только символьные данные (дочерние элементы не допускаются): Объявление для типа элемента с именем GENERAL, содержимое которого может быть любым:

Пример XML документа с DTD Mozart Violin Concertos 1, 2, and 3 Telemann Trumpet Concertos Handel Concerti Grossi Op. 3

Задание дочернего содержимого элемента Элемент может непосредственно содержать только определенные дочерние элементы, но не символьные данные. В тексте документа дочерние элементы можно разделять символами пробела, табуляции, возврата каретки или перевода строки, чтобы улучшить восприятие документа, но процессор будет игнорировать эти символы и не передаст их приложению.

Задание дочернего содержимого элемента Пример XML-документа, описывающего книгу: The Scarlet Letter Nathaniel Hawthorne

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

Последовательная модель содержимого (sequence) Элемент должен иметь строгую заданную последовательность дочерних элементов. Имена типов дочерних элементов должны отделяться запятыми. Неправильный порядок, пропуск дочернего элемента или использование одного и того же типа дочернего элемента более одного раза также недопустимо.

Пример последовательной модели содержимого Например: указывает, что элемент MOUNTAIN должен иметь – один дочерний элемент NAME, – после которого идет один дочерний элемент HEIGHT, – за которым следует один дочерний элемент STATE:

Выборочная модель содержимого (choice) Элемент может иметь только один (любой) из набора допустимых дочерних элементов, разделяемых символом |. Например: указывает, что элемент FILM может состоять – из одного дочернего элемента STAR, – или одного дочернего элемента NARRATOR, – или одного дочернего элемента INSTRUCTOR:

Выборочная модель содержимого (choice) Валидные документы: Robert Redford Не валидный документ: Sir Gregory Parsloe Galahad Threepwood

Уточнение формы содержимого В любой форме модели содержимого после имени элемента можно задать символы: знаки вопроса (?), плюса (+) и звездочки (*). Смысл использования этих знаков поясняется в следующей таблице: Символ Значение ? Ни одного или один экземпляр (0 или 1) + Один или более экземпляров (1 или n) * Ни одного или несколько экземпляров (0 или n)

Уточнение формы содержимого Например: означает – можно включить один или более дочерний элемент NAME, – дочерний элемент HEIGHT является не обязательным, – дочерний элемент STATE является обязательным. Тогда, следующий элемент будет действительным: Pueblo Peak Taos Mountain New Mexico

Пример уточнения содержимого В элемент FILM можно включать – несколько или ни одного дочернего элемента STAR, – либо один дочерний элемент NARRATOR, – либо один дочерний элемент INSTRUCTOR: Соответственно, каждый из следующих трех элементов будет корректным: Tom Hanks Meg Ryan Sir Gregory Parsloe

Уточнение всей модели содержимого Символы ?, + или * также могут использоваться для модификации всей модели содержимого. Для этого они записываются непосредственно после закрывающих скобок. Например: дает возможность включить один или несколько дочерних элементов любого из этих трех типов в любом порядке.

Такое объявление делает корректными следующие элементы: Bertram Wooster Sean Connery Plug Basham Sean Connery Meg Ryan Stinker Pike

Сложные модели содержимого формируются путем – вложения выборочной модели содержимого внутрь последовательной модели, – либо последовательной модели в выборочную модель. Например:

В соответствии с этим DTD, следующий корневой элемент будет действительным: The Net fictional Sandra Bullok так же, как такой: How to Use XML instructional Penny Donaldson

Задание смешанного содержимого Элемент может включать символьные данные и дочерние элементы. Если задан один или несколько типов дочерних элементов, то элемент может содержать – любые из этих дочерних элементов – в любом порядке и – с любым количеством вхождений (нуль и более). При смешанном содержимом – можно задавать типы дочерних элементов, – нельзя задавать порядок или количество вхождений дочерних элементов, – нельзя задавать обязательность включения для определенных типов дочерних элементов.

Для объявления типа элемента смешанного содержимого, можно воспользоваться одной из следующих форм модели содержимого: 1.#PCDATA - только символьные данные (может и не иметь никаких символов – т.е. быть пустым). 2. Символьные данные с необязательными дочерними элементами. – после ключевого слова PCDATA записывается один или несколько дочерних элементов – разделяя их символами | и помещая звездочку (*) в конце всей модели содержимого.

Пример смешанного содержимого Следующее объявление указывает, что элемент TITLE может содержать символьные данные плюс ни одного или несколько дочерних элементов SUBTITLE: В соответствии с этим объявлением следующие элементы TITLE являются допустимыми: Moby-Dick Or, the Whale Or, the Whale Moby-Dick Moby-Dick Or, the Whale Another Subtitle

Объявление атрибутов В валидном XML-документе должны быть полностью описаны все атрибуты, которые предполагается использовать для элементов документа. Все атрибуты, ассоциированные с определенным элементом, описываются с помощью специального типа DTD-разметки, называемого объявлением списка атрибутов.

В объявлении атрибутов задаются: – имена атрибутов, ассоциированных с элементом. В валидном документе можно включить в начальный тэг элемента только те атрибуты, которые определены для элемента; – тип данных каждого атрибута; – обязательность для каждого атрибута. Если атрибут необязателен, то указывается, что должен делать процессор, если атрибут опущен Например, можно задать значение атрибута по умолчанию, которое будет использовать процессор.

Форма записи объявления списка атрибутов Объявление списка атрибутов имеет следующую общую форму: – [Имя Элемента] – имя элемента, связанного с атрибутом или атрибутами; – [Определения Атрибутов] – это одно или несколько определений атрибутов, каждое из которых определяет один атрибут.

Определение атрибута Каждое определение атрибута является последовательностью следующих трех значений: [Имя Атрибута] [Тип Атрибута] [Доп Описание] – [Имя Атрибута] – имя атрибута; – [Тип Атрибута] – тип атрибута, т.е. виды значений, которые могут быть присвоены атрибуту; – [Доп Описание] – это объявление по умолчанию, которое указывает на обязательность атрибута и содержит другую информацию.

Если для данного типа элемента будет задано более одного объявления списка атрибутов, содержания двух объявлений объединяются. Если атрибут с заданным именем объявлен для одного и того же элемента несколько раз, первое объявление используется, а последующие – игнорируются. Множественные объявления списков атрибутов может возникнуть, если документ имеет как внутренние, так и внешние DTD.

Пример определения атрибутов Пусть тип элемента с именем FILM объявлен следующим образом: Тогда можно объявить два атрибута (Class и Year) для элемента FILM:

Атрибуту class можно присваивать любую строку в кавычках (ключевое слово CDATA); – если в XML-документе данному атрибуту значение не задается, то ему будет автоматически присваиваться значение по умолчанию "fictional". Атрибуту year можно присвоить любую строку в кавычках; – однако, этому атрибуту должно быть обязательно присвоено значение в каждом элементе film (ключевое слово #REQUIRED), поэтому значение по умолчанию не задается.

Пример описания XML-документа Следующий полный XML-документ включает это объявление списка атрибутов, а также элемент FILM: The Morning After Morgan Attenbury

Тип атрибута Тип атрибута является вторым необходимым компонентом в определении атрибута. Он задает вид значений, которые вы можете присваивать атрибуту внутри документа. Тип атрибута может задавать тремя различными способами: – Строковый тип - атрибуту может быть назначена любая строке в кавычках (литералу). Для задания такого типа используется ключевое слово CDATA. Например: – Маркерный тип - можно задать значения, на которые наложен ряд ограничений. – Нумерованный тип – можно задать одно или список определенных значений.

Задание маркерного типа атрибута Значение, присваиваемое маркерному типу атрибута, должно удовлетворять дополнительному ограничению, которое задается в описании атрибута с помощью ключевых слов: – ID – идентификатор (уникальное значение); – IDREF – ссылка на идентификатор; – IDREFS – набор ссылок на идентификаторы; – ENTITY – не анализируемая сущность; – ENTITIES – набор не анализируемых сущностей.

Маркерный тип ID ID - для каждого элемента атрибут должен иметь уникальное значение. – Значение должно начинаться с буквы или символа подчеркивания (_), за которыми могут идти или не идти другие буквы, цифры, символы точки (.), тире (–) или символы подчеркивания. Данный тип элемента может иметь только один атрибут типа ID, а в объявлении значения атрибута по умолчанию должно фигурировать #REQUIRED или #IMPLIED.

Пример использования ID Например, для атрибута StockCode определен маркерный тип с использованием ключевого слова ID. Это ключевое слово означает, что для каждого элемента атрибуту должно быть присвоено уникальное значение. Например, присвоение товарного кода "S021" двум элементам ITEM не допускается. Peach Tea Pot Electric Coffee Grinder Candy Thermometer

Маркерные типы IDREF и IDREFS IDREF - значение атрибута должно совпадать со значением атрибута элемента типа ID внутри документа. – Другими словами, этот тип атрибута является ссылкой на уникальный идентификатор другого атрибута. IDREFS - этот тип атрибута похож на тип IDREF, но при этом значение может включать ссылки на несколько идентификаторов – разделенных пробелами – внутри строки в кавычках.

Задание маркерного типа атрибута (2) ENTITY - значение атрибута должно совпадать с именем сущности (примитива), объявленного в DTD. – примитив не обрабатывается синтаксическим анализатором и ссылается на внешний файл, обычно содержащий не XML-данные. ENTITIES - значение атрибута может содержать имена нескольких сущностей (не анализируемых примитивов) – они разделяются пробелами – внутри строки в кавычках.

Задание маркерного типа атрибута (3) NMTOKEN - значением атрибута должно быть элементарное имя (name token), – состоит из одной или нескольких букв, цифр, точек (.), тире (–) или символов подчеркивания (_). – может также содержать двоеточие (:), но не на первом месте. NMTOKENS - атрибут может содержать несколько элементарных имен – имена разделяются пробелами – внутри строки в кавычках.

Пример использования IDREF Такой тип атрибута является ссылкой на уникальный идентификатор другого атрибута. Например, можно добавить атрибут IDREF с именем GoesWith к элементу ITEM: Затем можно использовать этот атрибут для ссылки на другой элемент ITEM: Electric Coffee Grinder Coffee Grinder Brush

Пример использования IDREFS Если атрибуту GoesWith назначен тип IDREFS: Тогда можно использовать его на ссылки на несколько других элементов: Electric Coffee Grinder 1 pound Breakfast Blend Coffee Beans Coffee Grinder Brush

Пример использования ENTITY Например, можно объявить элемент с именем IMAGE, представляющий графическое изображение, У элемента IMAGE можно задать атрибут типа ENTITY с именем Source, указывающий на источник графических данных: Если объявлен не анализируемый примитив (сущность) с именем Logo, который содержит графические данные для изображения, то можно присвоить этот примитив атрибуту Source элемента IMAGE в документе следующим образом:

Пример использования ENTITIES Если атрибуту Source назначен тип ENTITIES : Тогда можно использовать его для ссылки на несколько не анализируемых примитивов – Например, примитивов, содержащих графические данные в альтернативных форматах.

Пример использования NMTOKEN Например, атрибуту ISBN можно задать тип NMTOKEN следующим образом: Тогда можете присвоить ему значение, начинающееся с цифры – цифры в качестве первых символов допустимы для типов NMTOKEN и NMTOKENS, но не для любых других маркерных типов: The Portrait of a Lady

Пример использования NMTOKENS Если атрибуту Codes назначен тип NMTOKENS: Тогда такому атрибуту можно присваивать несколько значений в виде элементарных имен: long sleeve Henley

Перечисляемый тип атрибутов Значение атрибута должно совпадать с одним из имен, приведенных в списке типов атрибутов. Эти имена могут иметь одну из следующих двух форм записи. – Открывающая скобка, вслед за которой идет список элементарных имен, разделенных символами |, после чего следует закрывающая скобка. – Ключевое слово NOTATION, за которым идет пробел, затем открывающая скобка, затем список имен нотаций, разделяемых символами |, после чего следует закрывающая скобка. Каждое из этих имен должно точно соответствовать имени нотации, объявленному в DTD. Нотация описывает формат данных или идентифицирует программу, применяемую для обработки определенного формата.

Пример задания перечисляемого типа Пример XML-документа, использующего нумерованный тип атрибута Class: The Use and Care of XML Michael Young Если атрибут Class будет опущен, то ему будет по умолчанию присвоено значение "fictional". Присвоение атрибуту Class значения, отличного от "fictional", "instructional" или "documentary", приведет к ошибке.

Пример задания перечисляемого типа (2) Например, можно ограничить значения атрибута Format одним из этих имен нотаций с помощью следующего объявления: В дальнейшем вы можете использовать элемент Format для указания формата определенного элемента EXAMPLE_DOCUMENT, как в следующем примере: Присвоение атрибуту Format значения, отличного от "HTML", "SGML" или "RTF", приведет к ошибке. – здесь используется раздела CDATA – можно свободно использовать символ левой угловой скобки (

Дополнительное описание атрибута Третий (последний) обязательный компонент в определении атрибута указывает: – является ли атрибут обязательным, – если нет, то задает, что должен предпринимать процессор в случае, когда атрибут опущен. Так, объявление должно обеспечить значение атрибута по умолчанию, которое будет использовать процессор в том случае, если атрибут отсутствует.

Объявление значений по умолчанию Объявление обязательности атрибута и его значения по умолчанию может иметь следующие четыре формы: 1.#REQUIRED – требуется обязательно задавать значение атрибута для каждого элемента. 2.#IMPLIED - можно либо включить, либо опустить атрибут, если атрибут опущен, то никакое значение по умолчанию процессору не передается. 3. AttValue (значение атрибута по умолчанию) - можно либо включить, либо опускать атрибут для элемента. 1. Если атрибут опускается, то процессор использует значение по умолчанию, как если бы атрибут был включен и задано его значение. 4.#FIXED AttValue (значение атрибута по умолчанию) - можно либо включать, либо опускать атрибут для элемента ассоциированного типа. 1. если атрибут опускается, то процессор будет использовать значение, заданное по умолчанию; 2. если атрибут включается, то ему должно быть задано значение по умолчанию (у атрибута м.б. только одно значение).

Например, следующее объявление присваивает фиксированное значение по умолчанию атрибуту Class: В соответствии с этим объявлением следующие два эквивалентных элемента будут корректными: The Making of XML в то время как следующий элемент будет некорректным: The Making of XML

Включение в XML-документ внешних данных Хотя метаязык XML в основном разработан для создания языков описания текстовой информации. Но он также предоставляет средство взаимодействия с другими данными – например, двоичными данными, такими, как растровые изображения. Для обработки данных других типов нужно – задать их тип с помощью нотации и – включить их в XML-документ с помощью сущности. Кроме не текстовых типов можно использовать и текстовые данные специальных форматов – например, даты.

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

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

Объявление системной нотации с помощью ссылки на обрабатывающую программу С помощью указания URI программы, которая может обрабатывать или отображать формат данных Например:

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

Пример Нотации используются служат для задания форматов данных и типа программ:

Сущности В языке XML сущности (примитивы, entity) – это – средство встраивания в XML-документ многократно повторяющихся блоков текста, – способ встраивать различных, не текстовых типов данных. Сущностями могут быть – часто используемые блоки текста, что позволяет быстро вставлять их в нужные места. – внешние файлы, чтобы иметь возможность включать их содержание в XML-документ; в таких файлах могут содержаться текстовые или двоичные данные. Определение сущностей выполняется аналогичного тому, как объявляются элементы и атрибуты конкретного языка.

Текстовые сущности В DTD могут описываться следующие типы сущностей: Текстовая сущность это простая текстовая строка, для которой задается имя, например: Для вставки данной строки в XML-документе используется ссылка на нее, в виде «&abc;». Внешняя текстовая сущность содержит текст из внешнего источника. Примеры описания: – Задание внешней общей сущности посредством его формального открытого идентификатора: – Задание внешней общей сущности посредством местонахождение на компьютере или в сети: Ссылка на эти сущности указывается в виде «&man;».

Не анализируемые внешние сущности Сущности, используемые для импорта не текстовых данных, называется не анализируемыми сущностями (unparsed entity). Объявления не анализируемой и текстовых сущностей аналогичны, за исключением – ключевого слова NDATA и – типа нотации, следующих за системным или открытым идентификатором. Например:

Примеры описания сущностей Пример 1: не анализируемая сущность задается посредством ее формального открытого идентификатора: Пример 2: данные импортируются из другого файла: Ссылка на эту сущность указывается в виде «&logo;».

Пример использования нотаций и сущностей Объявлены двух нотации, jpeg и png, используя в качестве идентификаторов их типы MIME. Объявлены не анализируемые сущности bob и judy, ссылающиеся на графические файлы. Элемент объявлен пустым с атрибутом "source", Для атрибута "source" задается значение, которого является именем сущности.

Описанные не анализируемые сущности могут использоваться следующим образом: XML-процессор, обнаружив элемент, находит имя сущности в атрибуте source. Поскольку сущность объявляется как не анализируемая (посредством ключевого слова NDATA), процессор XML не обрабатывает ее как данные XML, а передает прямо в ту часть программы, которая умеет ее обрабатывать. Например, в web-браузере есть функция, воспринимающая некоторые типы графических данных и способная выводить их на экран.

Вставка ссылок на сущности Не анализируемые сущности непосредственно в XML-документ не встраиваются. Вместо этого ссылки на них передаются в элемент с помощью атрибутов, имеющих тип ENTITY или ENTITIES. Вставка содержимого (замещающий текст) сущности (примитива) в документ осуществляется с помощью ссылок на сущности. Ссылки на сущность имеет следующий общий вид: &Имя Сущности;.