lecture-02.ppt
- Количество слайдов: 26
Лекция 2. Введение в расширяемый язык разметки (XML) • Введение • XML инструментарий • Архитектура XML • Моделирование данных в XML
The Extensible Markup Language При разработке языка XML ставились следующие задачи: • XML должен быть пригоден для непосредственного использования в Интернет. • XML должен иметь широкий круг применения. • XML должен быть совместим с SGML. • Обработчики документов XML должны быть простыми в написании. • Количество факультативных свойств в XML должно быть сведено к абсолютному минимуму, в идеале число их вообще должно быть нулевым. • XML документы должны быть удобны для чтения и достаточно понятны. • Подготовка XML документа должна осуществляться быстро. • Процедура построения XML документа должна быть формальной и точной. • Процедура создания XML документов должна быть проста. • Краткость при разметке XML документа имеет минимальное значение. 2
Почему XML важен? • Стандарт • Приспособляемый, международный • Широко поддерживается промышленными лидерами (т. е. Microsoft) и исследовательским сообществом • Интероперабелен с существующей интернет инфраструктурой (HTTP, HTML, CSS, Javascript, DOM, etc)
Использование n Базис для определения HTML = XHTML n Хранение и передача структурированных данных – форматы файлов для связанных приложений: входные и выходные форматы – для контента сообщений –Как базис для стандартизации данных в семантической среде n Переход от одного XML документа к другому XML документу – передача данных между интерфейсами – передача данных в XHTML для презентации n Создание других языков (e. g. Voice. XML) n Интероперабельность – XML является платформенно независимым языком n Отделения контента от презентации
История XML SGML создан IBM для форматирования и поддержки документов внутри IBM 1986 - SGML стал ISO 1989 – появился HTML в CERN 1996 – W 3 C стартовала инициатива XML февраль 1998 – появился стандарт XML 1. 0 2006 -08 -16 Extensible Markup Language (XML) 1. 1 (Вторая версия) 2008 -11 -26 Extensible Markup Language (XML) 1. 0 (Пятая версия)
Словарь терминов и понятий • XML: e. Xtensible Markup Language • • • DTD: XML Document Type Definition Element: XML тег Attribute: key/value пара, связанная с элементом Entity: внутренне-ссылаемый текстовый объект Не проверяющий парсер (“Non-validating” parser): проверяет корректность XML документа • Проверяющий парсер (“Validating parser”): проверяет XML документ на основе связанного с ним DTD или схемы • XSL: e. Xtensible Stylesheet Language • Язык для преобразования документов • DOM: Document Object Model • Объектно-ориентированный интерфейс для структуры документов • SAX: Simple API for XML • Стандартный интерфейс для XML парсеров
Преобразования, презентация и манипулирование XML данными • XML определяет средства для специфицирования структуры данных и проверки этой структуры • Для развития этих средств необходима • Техника преобразования XML данных • Техника презентации XML данных • Техника манипулирования XML данными
Технологическая модель XML • Данные моделируются в XML • Структуры и ограничения моделируются с помощью DTDs или Schemas • Формат документа может быть смоделирован на основе XSL
Моделирование данных в XML
Генерация XML • Сводка погоды:
Генерация XML
Определение и проверка • Два пути определения структуры XML документа • DTDs • Schemas • Каждый из них представляет набор правил для составления XML словаря
Определение и проверка • Document Type Definitions (DTD) • Акцентирует структуру XML документа, какие элементы и атрибуты могут появляться в документе и каковы соотношения между ними • Трудно работать • Не поддерживает типы данных • Не расширяемый • Синтаксис DTD отличается от синтаксиса XML документа • Определяет отношения между разными элементами • Связывает атрибуты с элементами • Определяет уровень требований к атрибутам, их интервалы изменения и значения по умолчанию
Определение и проверка • Схема • • • Специфицирует структуру Поддерживает типы данных и ограничения Позволяет пользователю определять типы данных и наследование Поддерживает пространства имен для расширяемости Использует XML синтаксис Поддерживает простые и составные типы • Составные типы могут содержать другие элементы и иметь атрибуты • Простые типы являются просто контентом. • Содержит встроенные типы (numeric, string, date, time, boolean и др. ) • Ограничения • Интервалы • Число повторений • Перечисляемость
Определение и проверка • Корректный XML • XML является проверяемым по определению • Проверяемый XML документ должен соответствовать ограничениям определенным в DTD или Schema • Пространства имен (Namespaces) • Идентифицируют XML словарь по URI • Решают проблемы распознавания и конфликты
Структура XML • Базовые конструкты • Элемент XML состоит из начального тега и конечного тега и содержимого внутри них. • Элементы могут иметь набор атрибутов. • Элементы могут содержать проверяемые данные (#PCDATA) и/или другие элементы или могут быть пустыми. • Атрибут • Пара имя-значение, разделенная знаком равенства, входит в состав начального тега. • Существует 10 типов атрибутов. Наиболее общий - (CDATA).
Пример XML • Презентация xml version=“ 1. 0” ? >
Использование атрибутов • Презентация (версия 2) xml version=“ 1. 0”? >
Использование атрибутов • Презентация (версия 3) xml version=“ 1. 0”? >
Пример DTD xml version="1. 0" ? > ]>
Соответствие XML документа • Корректность • XML документ корректен, если он содержит ровно один корневой элемент и все дочерние элементы правильным образом сформированы. • Обоснованность • XML документ обоснован (“valid”) если он следует ограничениям DTD или схемы.
XML и базы данных • XML – структура является хорошей технологией для хранения данных • XML может поддерживать отношения между частями данных, чего не могут делать реляционные БД • Язык XML Query (XQuery) – развивается как стандартный язык запросов, охватывающий все типы XML документов и источников данных
Правила создания XML- документа • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация • Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего "напарника" • В XML учитывается регистр символов • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т. е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)
XML документы • Определение: Объект данных становится XML документом если, в соответствии с определениями обсуждаемой спецификации, он является корректным. [Корректный XML документ также может стать действительным, если отвечает некоторым дополнительным ограничениям. ] • Каждый XML имеет логическую и физическую структуру. Физически документ состоит из элементов, называемых сущностями. Любая сущность может ссылаться на другие сущности, обеспечивая их включение в данный документ. Документ начинается с "корня" или сущности документа. С логической точки зрения, документ строится из деклараций, элементов, комментариев, ссылок на символ и инструкций обработки. Все они размечаются в документе явным образом. Логические и физические структуры должны иметь корректную вложенность.
Корректные XML документы • • • Определение: Текстовый объект является корректным XML документом, если: как единое целое, он соответствует сценарию document. отвечает всем ограничениям корректности, представленным в этой спецификации. Все разобранные сущности, на которые в данном документе прямо или косвенно делается ссылка, являются корректными Соответствие сценарию document подразумевает следующее 1. В данном объекте содержится один или несколько элементов. 2. [Определение: В объекте имеется в точности один элемент, называемый корневым или элементом документа, ни одна из частей которого не попадает в содержимое какого-либо еще элемента. ] Для всех остальных элементов действует правило, что если начальный тэг находится в содержимом некого элемента, то и конечный тэг должен находиться среди содержимого того же элемента. Проще говоря, элементы, маркируемые начальными и конечными тэгами, должны быть вложены друг в друга правильным образом. [Определение: В документе для любого некорневого элемента C имеется другой элемент P из этого же документа, такой, что C находится в содержимом P, но при этом не попадает в содержимое какого-либо третьего элемента, также находящегося в содержимом элемента P. В таком случае об элементе P говорят как о родителе элемента C, а элемент C называют непосредственным потомком элемента P. ]


