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

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



Advertisements
Похожие презентации
Язык запросов XML. XML (Extensible Markup Language) - это новый SGML-производный язык разметки документов, позволяющий структурировать информацию разного.
Advertisements

XML и XSLT (2) Матросов Александр Васильевич Санкт-Петербургский государственный университет.
Языки описания информации Лекция 1. Кафедра «ОСУ» Весенний семестр 2012/2013 уч. года Введение в дисциплину.
Ключевые слова 1.WWW 2.Структура Web-страницыHTML 3.HTML-редактор 4.Цветовые схемы 5.гиперссылка.
это десятки миллионов Web-серверов Интернета, содержащих Web-страницы, в которых используется технология гипертекста. Технология WWW позволяет создавать.
XML - ПРАВИЛА ПОСТРОЕНИЯ ДОКУМЕНТОВ. Элементы электронного УМК Учебный план Программа дисциплины Структура курса Электронный конспект Обучающие и аттестующие.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
Презентация по дисциплине Программное обеспечение компьютерных сетей Дудко Е.В., преподаватель спец. дисциплин ГБОУ СПО Новороссийского колледжа строительства.
XML Extensible Markup Language вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября.
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)
Структура XML-документов По материалам курса University of Washington
Инструментальные средства создания Web-сайтов
WEB- ТЕХНОЛОГИИ Лекция 4. Задача преобразования XML- данных 1 Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать.
WPF (Windows Presentation Foundation) WPF – новая технология.NET Framework 3.x для создания пользовательских интерфейсов в клиентских приложениях. Одна.
Автоматическая обработка естественного языка I. Обработка письменного текста.
HTML (от англ. Hyper Text Markup Language «язык разметки гипертекста») стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
Powerpoint Templates Page 1 Язык разметки гипертекста HTML.
Структура HTML- документа. Терминология Элемент - конструкция языка HTML. Это контейнер, содержащий данные и позволяющий отформатировать из определенным.
Верстка сайтов Введение. Оглавление Основные понятия Тэги и элементы разметки Управление визуальным представлением документа Правила написания кода.
Транксрипт:

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

Лектор: Тузовский Анатолий Федорович – профессор каф. ОСУ Рабочее место к. 316 КЦ ТПУ Консультация: Четверг с 17-18

План лекции Описание дисциплины Кратко о языке SGML Введение в язык XML

Цель преподавания данной дисциплины На лекциях студенты должны получить знания по основным языкам XML-технологий. На лабораторных занятиях студенты должны получить навыки – Разработка XML-документов с использованием среды Microsoft Visual Studio.Net. – Разработка XSLT-преобразований с использованием среды Microsoft Visual Studio.Net. – Разработка XQuery-запросов с использованием пакета Saxon.

Организация дисциплины

Распределение учебного времени Лекции - 16 часов Лабораторные занятия - 16 часов Всего аудиторных занятий- 32 часа Самостоятельная работа- 32 часа Общая трудоемкость- 64 часа Экзамен

Самостоятельная работа (32 часа) Изучение материала лекций. Выполнение примеров сделанных на лекции. Выполнение доп. заданий по ЛР Самостоятельная работа может выполняться: – на своем компьютере – вечером в лабораториях кафедры

Аттестация студентов 100 баллов максимум. Аттестация – 60 баллов: – Посещение лекций – 20 баллов – Лабораторные работы – 40 баллов Допуск к экзамену: – Не менее 35 баллов – Сдача всех лабораторных работ. Экзамен – 40 баллов.

Материалы курса в локальной сети по адресу \\Exilim\Info\Дисциплина - Языки описания информации в Интернет сети ftp.tpu.ru\Information Description Languages\ (id = osu; psw = stud) – Лекции – презентации – Лабораторные работы – Библиотека – Курсовой проект

Описание информации Данные –> Информация –> Знания Данные это некоторые описания реального мира, которые имеют исходный (сырой), простой формат (т.е., это биты и байты, которые хранятся в системе баз данных). Информация создается по мере того, как простые данные получают некоторый смысл. – в результате явного описания смысла некоторого концептуального термина; – путем определения его смысла на основе логического вывода.

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

В общем случае, компьютер не может понимать информацию и поэтому любая информация для компьютера является просто данными. Однако, если компьютер способен действовать интеллектуально, так как он может правильно интерпретировать (понимать) конкретные данные, то «простые» данные становятся информацией даже для компьютера.

Общее определение информации (General Definition of Information, GDI) Общее определение информации: является информацией, понимаемой, как семантическое содержание, если и только если выполняются следующие условия: – состоит из n данных, где n >= 1; – эти данные являются правильно-сформированными (well-formed); – правильно-сформированные данные должны иметь некоторый смысл (т.е. должны быть связаны с более широким описанием действительности, быть осмысленными, meaningful).

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

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

Языки описания информации Языки описания информации основываются на моделях [организации] данных (data models), которые определяют способы (форматы) формирования информации из элементов данных. Наиболее часто используемыми моделями данных являются иерархическая и сетевая.

Пример иерархической и сетевой моделей данных

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

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

Языки разметки В настоящее основными активно используемыми языками описания информации являются языки разметки (markup languages). Язык разметки это способ описания информации путем ее разделения на логически связанные части, выделения этих частей с помощью специальных знаков (тэгов) и задания этим частям их синтаксических и семантических свойств. Тэги, добавляемые к информации, синтаксически отличаются от самого содержания информации.

Синтаксические свойства языков разметки задаются с помощью задания правил взаимного расположения знаков, их структурных взаимосвязей. Семантические свойства задаются с помощью связывания знаков с семантическими моделями (словарями), которые описывают логические взаимосвязи между частями информации.

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

Язык SGML Идея языков разметки и их терминология была заимствована из ручного внесения редакторами пометок в рукописные документы. Первые языки разметки появились уже в 60-х годах прошлого века. В 1974 году был разработан метаязык разметки SGML (Standard Generalized Markup Language), – в 1986 стал международным стандартом метаязыка разметки (ISO 8879:1986). Язык SGML является слишком низкоуровневым и сложным, для эффективного описания информации.

World Wide Web Consortium (W3C) Организация W3C была создана в 1994 году. – Основана создателем Web сети - Tim Berners-Lee. W3C является организацией содержащей Member Organization W3C работает для создания стандартов Web сети. W3C создает и поддерживает WWW стандарты, которые называются W3C Recommendations.

Создание языка HTML Язык HTML был разработан сотрудником института CERN - Tim Berners-Lee. Позднее он стал открытым стандартом, принятым организацией World Wide Web Consortium ( (W3C) org – Постоянно ведутся работы для того, чтобы HTML позволил реализовать полный потенциал Web сети.

Язык HTML Язык HTML предоставляет фиксированный набор элементов, которые можно использовать для описания элементов (разметки) обычной web-страницы. Примерами таких элементов являются заголовки, абзацы, списки, таблицы, изображения и гиперссылки. Разработан ученым Тим Бернерс Ли в 1989 г.

Пример HTML страницы с использованием языка HTML Home Page Michael Youngs Home Page Welcome to my Web site! Web Site Contents Please choose one of the following topics: Writing Family Photo Gallery Other Interesting Web Sites Click one of the following to explore another Web site: Yahoo Search Engine Amazon Bookstore Microsoft Press

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

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

Язык XML В 1996 г. группа XML Working Group организации W3C, на основе положительного опыта использования языка HTML для Web-сети, разработала упрощенную версию языка SGML. Это язык был назван расширяемым языком разметки – eXtensible Markup Language (XML). XML – это метаязык, с помощью которого можно разрабатывать конкретные языки разметки. Каждый конкретный язык разметки предназначен для описания информации некоторой конкретной предметной области (экономика, компьютерные сети, передача информации и т.п.). Конкретные языки разметки, разработанные на основе XML также называются XML-приложениями или XML- реализациями.

Пример XML-документа Приключения тома Соера Марк Твен Moby-Dick Herman Melville The Scarlet Letter Nathaniel Hawthorne

Примеры широко используемых конкретных языков разметки XHTML (Extensible Hypertext Markup Language) – расширяемый язык разметки гипертекстов; SOAP (Simple Object Access Protocol) – язык для работы с web-сервисами с помощью XML-сообщений; OFX (Open Financial Exchange) – язык для обмена информацией финансовыми организациями (банками, общественными фондами); HRMML (Human Resource Management Markup Language) – язык для обмена запросами по приему на работу и резюме; MathML (Mathematical Markup Language) – язык форматирования математических формул и научной информации; MusicML (Music Markup Language) – язык описание музыкальных партитур; OMF (Weather Observation Markup Format) – язык для кодирование прогнозов погоды; VML (Vector Markup Language) – язык для описания векторной графикой; SVG (Scalable Vector Graphics) – язык разметки масштабируемой векторной графики; ThML (Theological Markup Language) – язык представления религиозных текстов.

Отношение между языками SGML, XML и HTML

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

Классификация языков разметки Разработан и стандартизирован достаточно большой набор вспомогательных конкретных языков разметки, с помощью которых можно выполнять различные операции с конкретными языками разметки и XML-документами Например: – описание синтаксиса (схемы) конкретных языков разметки (языки DTD и XML Schema); – связывание XML-документов между собой (языки XPath, XPointer, XLink); – преобразование XML-документов в разные форматы (языки XSLT и XQuery); – описание семантики конкретных языков разметки (языки RDF/RDFS и OWL).

Схема классификации языков разметки

Основные XML технологии

Актуальность использования XML данных Почти все современные приложения связаны в той или иной степени с XML. – формируют XML для использования другими приложениями или компонентами или – используют XML, созданный другими приложениями. Все разработчики ПО осознанно или не осознанно, работают с XML. – Например,.NET приложения используют XML файлы для хранения информации о конфигурации. – ASP.NET web страницы являются XML документами. – Почти все современные web-сайты генерируют и публикуют информацию в виде XML поставок (feeds) (RDF, RSS, ATOM, OPML и т.п.).

Актуальность использования XML данных (2) Последние изменения архитектур приложений способствовало широкому признанию XML. – Архитектуры, ориентированные на сервисы (Service- oriented architecture, SOA) способствовали использованию XML Web Services. – AJAX (Asynchronous JavaScript and XML) стал базовым требованием к почти каждому современному web приложению. – XAML – язык создания программ с графическим интерфейсом в платформе.Net – XHTML – вариант языка HTML.

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

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

Пример XML-документа Приключения тома Соера Марк Твен Moby-Dick Herman Melville The Scarlet Letter Nathaniel Hawthorne

Иерархическая структура элементов рассмотренного XML-документа

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

Описание синтаксиса (схемы) конкретного языка разметки включает: набор имен элементов; правила вложенности одних элементов в другие элементы (составные); набор имен атрибутов и их связь с элементами.

Основные правила метаязыка XML В общем случае, описание XML-документа составляется в соответствии с двумя наборами правил: – Основные правила метаязыка XML. – Правила (синтаксис) конкретного языка разметки.

Основные правила метаязыка XML 1.XML-документ должен начинаться с XML– объявления для программы, выполняющей его обработку (XML-процессора). Например: – в XML 1.0 XML-объявление может быть опущено, – В XML 1.1 XML-объявление обязательно. 2.XML-документ состоит из элементов, каждый из которых выделяется начальным (открывающимся) тэгом и конечным (закрывающимся) тэгом. Например: …

3. Начало каждого тэга выделяется символом ' '. Между этими символами записывается имя элемента. Например: или 4. Имя элемента в конечном тэге должно в точности соответствовать имени элемента в начальном тэге, но начинаться с символа слэш /. Например: или.

5. В XML не разрешается опускать конечный тэг – даже в том случае, когда обрабатывающая программа может определить, где заканчивается элемент. Не правильно: первый параграф второй параграф Правильно: первый параграф второй параграф 6. Если в элементе нет содержания, то данный элемент может записываться в виде элемента, который заканчивается '/>'. Например:

7. Элементы XML-документа могут вкладываться друг в друга, но только целиком. То есть, если элемент начинается внутри другого элемента, он должен и заканчиваться внутри данного элемента. Не правильное вложение одного элемента в другой: This text is bold and italic Правильное вложения элемента: This text is bold and italic 8. Должен быть только один элемент самого верхнего уровня (корневой элемент), в который вложен все другие элементы документа.

9. В начальном тэге за именем элемента могут записываться атрибуты в виде паримя_атрибута=значение, разделенных пробелами. Например:. 10. Все значения атрибутов элементов должно заключаться в кавычки (одинарные или двойные). Не правильно: Правильно:

11. Если значение атрибута само содержит двойные кавычки, то для его выделения можно использовать одиночные кавычки. Например: 12. Каждый XML элемент может содержать (между начальным и конечным тэгами): – другие XML элементы; – текст; – комбинацию элементов и текста.

Правильно-сформированные документы Документы, составленные в соответствии с базовыми правила метаязыка разметки XML, называются правильно-сформированными (well-formed). – Только правильно-сформированные описания информации называются XML-документами. Правильно-сформированные документы, которые соответствуют формальным правилам синтаксиса (структуры, схемы) конкретного языка разметки, называются действительными (валидными, valid).

Структура XML-документа

Пример сложного элемента в XML документе

Структура элемента XML документа Имя, записанное в начальном тэге, должно в точности соответствовать имени в конечном тэге, включая регистр, в котором набраны буквы. Так, следующий элемент является некорректным. Chapter one Элемент обычно состоит из начального тэга, содержимого и конечного тэга:

Имена элементов При добавлении элемента в XML-документ можно выбрать любое желаемое имя, руководствуясь следующими правилами: – имя должно начинаться с буквы или с символа подчеркивания (_), после чего могут использоваться буквы, цифры, символы точки (.), тире (–) или подчеркивания; – в спецификации XML указано, что имена типов элементов, которые начинаются с префикса "xml" (при любом сочетании строчных или прописных букв), "зарезервированы для стандартных имен". Примеры правильного задания имен типов элементов: Part _lstPlace A B-SECTION Street.Address.1 Следующие имена использовать недопустимо: 1stPlace B Section B/Section :Chapter A:Section

Типы содержимого элемента Инструкции по обработке содержат информацию, необходимую для XML- приложений. Комментарии – это примечания к вашему XML-документу, которые могут читаться людьми, но игнорируются XML-процессором.

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

Назначение пустых элементов Для указания XML-приложению выполнить действие или отобразить объект. – например: HTML пустой элемент BR - указывает браузеру вставить разрыв строки; пустой элемент HR - указывает на вставку горизонтальной разделительной линии. – другими словами, само присутствие элемента с определенным именем – без какого-либо содержимого – может послужить важной информацией для приложения; Для задания атрибутов. – Аналогом в HTML является пустой элемент IMG (вставка изображения), содержащий атрибуты, которые сообщают процессору, где искать графический файл и как его отобразить.

Задание имен элементов и атрибутов При добавлении элемента в конкретный язык разметки можно использовать любое желаемое имя, которое соответствует следующих правилам: – имена не могут содержать пробелы; – имя должно начинаться с буквы или с символа подчеркивания _, после чего могут использоваться буквы, цифры или подчеркивания; – следует избегать использовать символы -, : и., т.к. обрабатывающие программы могут понимать их не правильно; – имена не могут начинаться с букв xml (или XML, или Xml, и т.п.); – следует помнить, что имена являются чувствительными к регистру, т.е. маленькие и большие буквы являются разными символами. Например, TITLE и Title это разные имена.

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

Типы содержимого элемента вложенные элементы

Типы содержимого элемента символьные данные

Типы содержимого элемента смешанное содержание

Типы содержимого элемента Ссылки на общие примитивы и ссылки на символы.

Программа, обрабатывающая XML-документы (синтаксический анализатор) ищет в символьных данных элемента XML-разметку. Поэтому в составе символьных данных нельзя использовать символ «меньше». Символы < или & можно записывать в содержании XML-документа без использования ссылок если они включены в раздел CDATA (рассмотрим далее). – В данном разделе также можно использовать любые символы (в том числе такие, которых нет на клавиатуре), воспользовавшись ссылкой на символ.

Ссылки на символьные сущности

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

Атрибуты элементов Атрибуты – это некоторые параметры, связанные с элементами. – Можно сказать, что атрибуты хранят метаданные элементов. В начальном тэге элемента (в том числе и пустом) можно задать один или нескольких атрибутов следующим образом «имя="значение"». – Например, элемент «Цена» включает атрибут с именем «тип», которому присвоено значение «оптовая»: 230 Обычно все данные, относящиеся к элементу, задаются внутри содержимого элемента. Атрибуты чаще используются для хранения различных свойств элемента, которые не входят в содержание самого элемента.

Атрибуты элементов В тэги элементов можно включать один или несколько описаний атрибутов. Описание атрибута представляет собой пару «имя = значение». – Например, следующий элемент PRICE включает атрибут с именем Type, которому присвоено значение retail: $10.95 Следующий элемент BOOK включает два атрибута, Category и Display: The Marble Fauh Nathaniel Hawthorne trade paperback 473 $10.95

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

Правила для создания атрибутов Описание атрибута состоит из имени атрибута, вслед за которым идет знак равенства и значение атрибута. Имя атрибута можно задавать любое, придерживаясь при этом следующих правил: – имя должно начинаться с буквы или символа подчеркивания (_), после чего могут следовать или не следовать другие буквы, цифры, символы точки (.), тире (-) или подчеркивания; – спецификация XML оговаривает, что имена атрибутов, начинающиеся с префикса "xml" (в любом сочетании строчных или прописных букв), "зарезервированы для стандартного использования"; – каждое имя атрибута может только один раз присутствовать в одном и том же начальном тэге или в тэге пустого элемента.

Пример атрибутов Например, следующие описания имен в стартовых тэгах являются допустимыми: Приведенные ниже имена атрибутов недопустимы:

Правила для корректного задания значений атрибутов Значение, которое вы присваиваете атрибуту, представляет собой группу символов, ограниченных кавычками, называемую также литералом. Можно присвоить атрибуту в качестве значения любой литерал, придерживаясь при этом следующих правил: – строка может быть заключена как в одинарные ('), так и в двойные кавычки ("); – строка не может содержать внутри себя тот же символ кавычек, которыми она ограничена; – строка может содержать ссылку на символ или ссылку на внутренние примитивы общего назначения; – строка не может содержать символ < (Синтаксический анализатор может воспринять этот символ как начало описания XML-разметки.) – строка не может содержать символ &, если это не ссылка на символ или примитив.

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

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

Однако не следует использовать такое описание: < заметка день="10" месяц="01" год="2008" для="Tove" от="Jani" заголовок="Напоминание" содержание=" Не забудь о встрече!"> Чаще всего атрибуты используются только для данных, которые не включается в содержание элемента, а являются метаданными. Например: Женя Петя Напоминание Не забудь о встрече! В данном случае атрибут id используется для идентификации разных заметок и не является частью самой заметки.

Дополнительные элементы XML- документов Кроме элементов и их содержания в XML- документ можно включать: – инструкции для программ, обрабатывающих XML- документы; – комментарии; – не анализируемые разделы.

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

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

Инструкции по обработке XML- документа Инструкции по обработке (processing-instruction) предназначены для передачи информации, приложениям выполняющим обработку XML- документа (XML-процессору). Инструкция по обработке имеет следующую общую форму записи: – [программа] - имя программы, которая будет выполнять обработку XML- документа; – [данные] – это информация, которая передается данной программе. Она может состоять из любой последовательности символов, за исключением пары ?>, зарезервированной для обозначения окончания инструкции по обработке. Примеры инструкций:

Объявление XML-документа В данной строке также могут использоваться дополнительно два атрибута: encoding и standalone. Атрибут encoding задает способ кодировки символов документа. По умолчанию используется кодировка UTF-8 c набором символов Unicode. – XML-процессоры могут работать и с другими кодировками, например, encoding="windows-1251". Атрибут standalone указывает, связан ли данный документ с документом на языке DTD, описывающим синтаксис (схему) используемого конкретного языка разметки для проверки правильности составления данного документа. Значение по умолчанию no - XML-процессору может потребоваться прочитать внешний DTD-файл для определения правильности составления XML-документа. XML-документы, не имеющие DTD-описания, обычно используют значение yes для атрибута standalone.

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

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

Пример комментариев Комментарий могут вставиться в любое место в XML-документе, но вне описания разметки. – Например: This is a very simple XML-document..

Не анализируемые разделы XML-документа (CDATA) Для этого используются специальные разделы CDATA, которые описываются следующим образом: (здесь вместо xxx могут записываться любые символы (включая ). Все символы внутри раздела CDATA рассматриваются, как содержание документа, а не как XML-разметка. Например:

Разделы CDATA Внутри символьных данных в содержимом элемента, нельзя помещать символ левой угловой скобки (

Типы содержимого элемента Разделы CDATA – это текстовый блок, в котором вы можете свободно размещать любые символы, за исключением строки ]]>.

Раздел CDATA начинается с символов. Ключевое слово CDATA (как и другие ключевые слова XML) должно быть набрано прописными буквами. Между этими двумя ограничителями можете размещать любые символы (включая (что будет интерпретировано как конец раздела CDATA). Все символы внутри раздела CDATA рассматриваются, как литеральная часть символьных данных элемента, а не XML- разметка.

Пример правильно записанного раздела CDATA:

Пространства имен (namespaces) При составлении XML-документа можно использовать разные конкретные языки разметки. – Например, XML-документ может содержать и рисунки на языке SVG, и формулы на языке MathML. – Оба этих языка используют элемент set (множество). Для того, чтобы указать, к какому конкретному языку принадлежат используемые элементы применяются пространства имен. В данном случае, под пространством имен понимается именованная совокупность имён элементов и атрибутов, служащая для обеспечения их уникальности в XML-документе.

Смешивание разных конкретных языков Title of XHTML Document Heading of Page...… MathML markup … more html stuff goes here mt: prefix indicates 'type' mathml (a different language) Default type is xhtml Для смешивания разных конкретных языков разметки в одном документе используются : name spaces

Унифицированные идентификаторы ресурса URI В XML-технологии для задания пространств имен используются унифицированные идентификаторы ресурса URI (Uniform Resource Identifier), с которым связывается конкретный язык разметки. Идентификатор URI это символьная строка, позволяющая идентифицировать некоторое ресурсы web-сети или абстрактные понятие: документ, изображение, файл, службу, ящик электронной почты, понятия «сотрудник», «студент» и т.п. URI является расширяемым способом идентификации, т.к. уже существуют разные схемы идентификации, и пользователи могут создаваться новые схемы.

Две основные схемы описания URI URL (Uniform Resource Locator) это URI, в котором ресурсы идентифицируются с помощью описания способа доступа к ним (т.е., их расположения в сети), а не путем задания имени или каких-то других атрибутов этих ресурсов. – Примерами URL являются: или ftp:// URN (Uniform Resource Name) это идентификация ресурсов по имени в некотором локальном пространстве имён (и, соответственно, в определённом контексте). URN позволяют идентификаторам оставаться глобально уникальными и неизменными, даже в тех случаях, когда ресурсы перестают существовать или становятся недоступными. – Примерами URN являются: urn:ISBN: (международный стандартный книжный номер) или (адрес электронной почты).

Префиксы В тексте XML-документов URI идентификаторы языков разметки непосредственно для задания элементов и атрибутов не используются. Вместо URI используются, соответствующие им краткие строки – префиксы, такие как rdf и xsl. Каждый префикс ставится в соответствие только одному URI. Префиксы могут содержать любые символы, допустимые в метаязыке XML, кроме двоеточия. Префиксы, начинающиеся тремя символами xml (в любой комбинации регистров), зарезервированы для использования XML и относящимися к нему спецификациями.

Уточненные имена (qualified name, Qname) Для точного указания, что элемент XML- документа относиться к некоторому конкретному языку разметки (к его пространству имен) нужно перед его именем указать префикс. Префикс отделяется от имени элемента двоеточием :. – Например: rdf:description; XLink:type или xsl:template. Полное имя элементов XML-документа, включая двоеточие, называется уточненным именем (qualified name) или QName.

Примеры префиксов и URI некоторых, широко используемых конкретных языков разметки

Реальное использование XML Структурирование документов. Работа с базами данных. Работа с векторной графикой (VML – Vector Markup Language). Мультимедиа презентации (SMIL – Synchronized Multimedia Integration Language, HTML + TIME – HTML Timed Interactive Multimedia Extensions). Описание каналов – автоматическая рассылка подписчикам XML файлов с новостями сайта (CDF – Channel Definition Format). Описание программных пакетов и их взаимосвязей - для распространения и обновления программных продуктов в сети (OSD – Open Software Description). Поддержка Web сервисов для взаимодействия приложений - сообщения являются независимыми от операционных систем, объектных моделей и компьютерных языков. (SOAP – Simple Object Access Protocol). Обмен финансовой информацией. Обмен информацией в открытом и понятном формате осуществляется между финансовыми программами (такими как Quicken и Microsoft Money) и финансовыми институтами (банками, общественными фондами) (OFX – Open Financial Exchange). Создание, управление и использование сложных цифровых форм для коммерческих Internet-транзакций. Подобные формы могут включать оцифрованные подписи, которые делают их признанными юридически. (XFDL – Extensible Forms Description Language). Обмен запросами по приему на работу и резюме (HRMML – Human Resource Management Markup Language).

Реальное использование XML (2) Форматирование математических формул и научной информации в Web. (MathML – Mathematical Markup Language). Описание молекулярных структур (CML – Chemical Markup Language). Кодирование и отображение информации о ДНК, РНК и цепочках (BSML – Bioinformatic Sequence Markup Language). Кодирование генеалогических данных (GeDML – Genealogical Data Markup Language). Обмен астрономическими данными (AML – Astronomical Markup Language). Описание музыкальных партитур (MusicML –Music Markup Language). Работа с голосовыми сценариями для доставки информации по телефону. Голосовые сценарии могут быть использованы, например, для генерирования голосовых сообщений, справок о наличии товаров и прогнозов погоды (VoxML). Представление рекламы в прессе в цифровом формате (Ad Markup). Заполнение юридических документов и электронный обмен юридической информацией (XCL – XML Court Interface). Кодирование прогнозов погоды (OMF – Weather Observation Markup Format). Обмен новостями и информацией с использованием открытых Web-стандартов (XMLNews). Представление религиозной информации и разметка текстов богослужений (ThML – Theological Markup Language, LitML – Liturgical Markup Language).