'

Языки описания информации

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

Пример HTML страницы с использованием языка HTML <HTML> <HEAD> <TITLE>Home Page</TITLE> </HEAD> <BODY> <H1><IMG SRC="MainLogo.gif"> Michael Young’s Home Page</H1> <P><EM>Welcome to my Web site!</EM></P> <H2>Web Site Contents</H2> <P>Please choose one of the following topics:</P> <UL> <LI><A Href="Writing.htm"><B>Writing</B></A></LI> <LI><A Href="Family.htm"><B>Family</B></A></LI> <LI><A Href="Photos.htm"><B>Photo Gallery</B></A></LI> </UL> <H2>Other Interesting Web Sites</H2> <P>Click one of the following to explore another Web site:</P> <UL> <LI> <A HREF=http://www.yahoo.com/>Yahoo Search Engine</A> </LI> <LI> <A HREF=http://www.amazon.com/>Amazon Bookstore</A> </LI> <LI> <A HREF=http://mspress.microsoft.com/>Microsoft Press</A> </LI> </UL> </BODY> </HTML>


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

Пример XML-документа <?xml version="1.0" encoding="utf-8"?> <Склад> <книга наличие=”да”> <название>Приключения тома Соера</название> <автор>Марк Твен</автор> <страниц>298</страниц> <цена>155</цена> </книга> <книга наличие=”нет”> <название>Moby-Dick</название> <автор>Herman Melville</автор> <страниц>605</страниц> <цена>210</цена> </книга> <книга наличие=”да”> <название>The Scarlet Letter</название> <автор>Nathaniel Hawthorne</автор> <страниц>253</страниц> <цена>88</цена> </книга> </Склад>


Слайд 31

Примеры широко используемых конкретных языков разметки 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) – язык представления религиозных текстов.


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36


Слайд 37

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


Слайд 38

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


Слайд 39

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


Слайд 40

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


Слайд 41

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


Слайд 42

Пример XML-документа <?xml version="1.0" encoding="utf-8"?> <Склад> <книга наличие=”да”> <название>Приключения тома Соера</название> <автор>Марк Твен</автор> <страниц>298</страниц> <цена>155</цена> </книга> <книга наличие=”нет”> <название>Moby-Dick</название> <автор>Herman Melville</автор> <страниц>605</страниц> <цена>210</цена> </книга> <книга наличие=”да”> <название>The Scarlet Letter</название> <автор>Nathaniel Hawthorne</автор> <страниц>253</страниц> <цена>88</цена> </книга> </Склад>


Слайд 43

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


Слайд 44

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


Слайд 45

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


Слайд 46

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


Слайд 47

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


Слайд 48

Начало каждого тэга выделяется символом '<', а конец – символами '>'. Между этими символами записывается имя элемента. Например: <адрес> или <прибор> Имя элемента в конечном тэге должно в точности соответствовать имени элемента в начальном тэге, но начинаться с символа слэш ‘/’. Например: </адрес> или </прибор>.


Слайд 49

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


Слайд 50

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


Слайд 51

В начальном тэге за именем элемента могут записываться атрибуты в виде пар “имя_атрибута=значение”, разделенных пробелами. Например: <прибор id="01318013">. Все значения атрибутов элементов должно заключаться в кавычки (одинарные или двойные). Не правильно: <note date=12/11/2007> Правильно: <note date="12/11/2007">


Слайд 52

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


Слайд 53

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


Слайд 54

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


Слайд 55

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


Слайд 56

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


Слайд 57

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


Слайд 58

Типы содержимого элемента Инструкции по обработке содержат информацию, необходимую для XML-приложений. <?MyApp Parm1="value 1" Parm2="value 2" ?> Комментарии – это примечания к вашему XML-документу, которые могут читаться людьми, но игнорируются XML-процессором. <!-- текст комментария -->


Слайд 59

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


Слайд 60

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


Слайд 61

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


Слайд 62

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


Слайд 63

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


Слайд 64

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


Слайд 65

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


Слайд 66

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


Слайд 67

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


Слайд 68

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


Слайд 69

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


Слайд 70

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


Слайд 71

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


Слайд 72

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


Слайд 73

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


Слайд 74

Пример атрибутов Например, следующие описания имен в стартовых тэгах являются допустимыми: <ANIMATION Filename="Waldo.ani"> <LIST _1stPlace="Sam"> <ENTRY Zip.Code="94941"> Приведенные ниже имена атрибутов недопустимы: <!-- Дублирование имени атрибута внутри одного тэга: --> <ANIMATION Filename="Waldo1.ani" Filename="Waldo2.ani"> <LIST 1stPlace="Sam"> <!-- Первый символ не может быть цифрой --> <ITEM A:Category="cookware"> <!--B IE5 допускается, только если вы объявили А как пространство имен -->


Слайд 75

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


Слайд 76

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


Слайд 77

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


Слайд 78

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


Слайд 79

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


Слайд 80

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


Слайд 81

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


Слайд 82

Инструкции по обработке XML-документа Инструкции по обработке (processing-instruction) предназначены для передачи информации, приложениям выполняющим обработку XML-документа (XML-процессору). Инструкция по обработке имеет следующую общую форму записи: <?[программа] [данные] ?> [программа] - имя программы, которая будет выполнять обработку XML-документа; [данные] – это информация, которая передается данной программе. Она может состоять из любой последовательности символов, за исключением пары “?>”, зарезервированной для обозначения окончания инструкции по обработке. Примеры инструкций: <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="XSLFile.xsl"?>


Слайд 83

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


Слайд 84

Комментарии Комментарий начинается с символов “<!--” и заканчивается символами “-->”. Между этими двумя ограничителями можно писать любые символы, за исключением двойного тире (--). Внутри комментария можно даже вставлять символ левой угловой скобки (<) и знак амперсенда (&). Например: <!-- Здесь можно написать любой текст, кроме двойного тире --> Комментарии могут записываться в любом место XML-документа, но вне описания тэгов разметки.


Слайд 85

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


Слайд 86

Пример комментариев Комментарий могут вставиться в любое место в XML-документе, но вне описания разметки. Например: <?xml version="1.0" encoding="windows-1251" ?> <DOCUMENT> This is a very simple XML-document. </ DOCUMENT> <!-- Это комментарий, следующий за элементом Документ. -->.


Слайд 87

Не анализируемые разделы XML-документа (CDATA) Для этого используются специальные разделы CDATA, которые описываются следующим образом: <![CDATA [xxx] ]> (здесь вместо ‘xxx’ могут записываться любые символы (включая ‘<’ или ‘&’), за исключением последовательности “]]>”). Все символы внутри раздела CDATA рассматриваются, как содержание документа, а не как XML-разметка. Например: <![CDATA[ Здесь можно разместить любые символы, за исключением двух правых квадратных скобок с последующим знаком "больше". ]]>


Слайд 88

Разделы CDATA Внутри символьных данных в содержимом элемента, нельзя помещать символ левой угловой скобки (<) или знак амперсанда (&). Одним из способов преодолеть это ограничение является использование ссылки на символ (&#60; или &#38;), либо на предопределенный общий примитив (&lt; или &amp;). Однако в том случае, если требуется многократно вставлять символы < или &, то ссылок использовать неудобно и они затрудняют понимание данных. В этом случае проще поместить текст, содержащий такие символы, в раздел CDATA.


Слайд 89

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


Слайд 90

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


Слайд 91

Пример правильно записанного раздела CDATA: <![CDATA[ Здесь можно разместить любые символы, за исключением двух правых квадратных скобок с последующим знаком "больше". ]]>


Слайд 92

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


Слайд 93

Смешивание разных конкретных языков <?xml version="1.0" encoding="iso-8859-1"?> <html xmlns="http://www.w3.org/1999/xhtml1" xmlns:mt=“http://www.w3.org/1998/mathml” > <head> <title> Title of XHTML Document </title> </head><body> <div class="myDiv"> <h1> Heading of Page </h1> <mt:mathml> <mt:sup> ...… MathML markup … </mt:mathml> <p> more html stuff goes here </p> </div> </body> </html> mt: prefix indicates 'type' mathml (a different language) Default ‘type’ is xhtml Для смешивания разных конкретных языков разметки в одном документе используются : name spaces


Слайд 94

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


Слайд 95

Две основные схемы описания URI URL (Uniform Resource Locator) это URI, в котором ресурсы идентифицируются с помощью описания способа доступа к ним (т.е., их расположения в сети), а не путем задания имени или каких-то других атрибутов этих ресурсов. Примерами URL являются: http://www.cctpu.edu.ru/kms/ или ftp://www.tpu.ru/; URN (Uniform Resource Name) это идентификация ресурсов по имени в некотором локальном пространстве имён (и, соответственно, в определённом контексте). URN позволяют идентификаторам оставаться глобально уникальными и неизменными, даже в тех случаях, когда ресурсы перестают существовать или становятся недоступными. Примерами URN являются: urn:ISBN:0-395-36341-1 (международный стандартный книжный номер) или IvanovAP@mail.ru (адрес электронной почты).


Слайд 96

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


Слайд 97

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


Слайд 98

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


Слайд 99

Реальное использование 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).


Слайд 100

Реальное использование 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).


×

HTML:





Ссылка: