Основы xml для начинающих. Язык XML практика и теория

Вероятно, вы слышали о языке XML и вам известно множество причин, по которым его необходимо использовать в вашей организации. Но что именно представляет собой XML? В этой статье объясняется, что такое XML и как он работает.

В этой статье

Пометки, разметка и теги

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

В мире информационных технологий термин "пометка" превратился в термин "разметка". При разметке используются коды, называемые тегами (или иногда токенами), для определения структуры, визуального оформления и - в случае XML - смысла данных.

Текст этой статьи в формате HTML является хорошим примером применения компьютерной разметки. Если в Microsoft Internet Explorer щелкнуть эту страницу правой кнопкой мыши и выбрать команду Просмотр HTML-кода , вы увидите читаемый текст и теги HTML, например

И

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

...

) и местоположение рисунков.

Отличительные черты XML

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

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

Учитывайте при работе следующее:

    HTML нельзя использовать вместо XML. Однако XML-данные можно заключать в HTML-теги и отображать на веб-страницах.

    Возможности HTML ограничены предопределенным набором тегов, общим для всех пользователей.

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

    Izzy Siamese 6 yes no Izz138bod Colin Wilcox

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

Но не путайте теги в данном примере с тегами в HTML-файле. Например, если приведенный выше текст в формате XML вставить в HTML-файл и открыть его в браузере, то результаты будут выглядеть следующим образом:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Веб-браузер проигнорирует теги XML и отобразит только данные.

Правильно сформированные данные

Вероятно, вы слышали, как кто-то из ИТ-специалистов говорил о "правильно сформированном" XML-файле. Правильно сформированный XML-файл должен соответствовать очень строгим правилам. Если он не соответствует этим правилам, XML не работает. Например, в предыдущем примере каждый открывающий тег имеет соответствующий закрывающий тег, поэтому в данном примере соблюдено одно из правил правильно сформированного XML-файла. Если же удалить из файла какой-либо тег и попытаться открыть его в одной из программ Office, то появится сообщение об ошибке и использовать такой файл будет невозможно.

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

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

В дополнение к правильно сформированным данным с тегами XML-системы обычно используют два дополнительных компонента: схемы и преобразования. В следующих разделах описывается, как они работают.

Схемы

Не пугайтесь термина "схема". Схема - это просто XML-файл, содержащий правила для содержимого XML-файла данных. Файлы схем обычно имеют расширение XSD, тогда как для файлов данных XML используется расширение XML.

Схемы позволяют программам проверять данные. Они формируют структуру данных и обеспечивают их понятность создателю и другим людям. Например, если пользователь вводит недопустимые данные, например текст в поле даты, программа может предложить ему исправить их. Если данные в XML-файле соответствуют правилам в схеме, для их чтения, интерпретации и обработки можно использовать любую программу, поддерживающую XML. Например, как показано на приведенном ниже рисунке, Excel может проверять данные на соответствие схеме CAT.

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

Не беспокойтесь, если в примере не все понятно. Просто обратите внимание на следующее:

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

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

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

Преобразования

Как говорилось выше, XML также позволяет эффективно использовать и повторно использовать данные. Механизм повторного использования данных называется преобразованием XSLT (или просто преобразованием).

Вы (или ваш ИТ-отдел) можете также использовать преобразования для обмена данными между серверными системами, например между базами данных. Предположим, что в базе данных А данные о продажах хранятся в таблице, удобной для отдела продаж. В базе данных Б хранятся данные о доходах и расходах в таблице, специально разработанной для бухгалтерии. База данных Б может использовать преобразование, чтобы принять данные от базы данных A и поместить их в соответствующие таблицы.

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

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

Name Breed Age Altered Declawed License Owner

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

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

XML в системе Microsoft Office

Профессиональные выпуски Office обеспечивают расширенную поддержку XML. Начиная с 2007 Microsoft Office System, Microsoft Office использует форматы файлов на основе XML, например DOCX, XLSX и PPTX. Так как XML хранит данные в текстовом формате, а не в собственном двоичном формате, клиенты могут определять собственные схемы и использовать ваши данные разными способами, без необходимости платить ройалтиес. Дополнительные сведения о новых форматах см. в статье форматы Open XML и расширения имен файлов . Ниже приведены другие преимущества.

Все это замечательно, но что делать, если у вас есть XML-данные без схемы? Это зависит от того, какую программу Office вы используете. Например, при открытии XML-файла без схемы в приложении Excel оно предполагает, что схема существует, и дает возможность загрузить данные в XML-таблицу. Вы можете использовать XML-списки и таблицы для сортировки, фильтрации и вычисления данных.

Включение средств XML в Office

По умолчанию вкладка "Разработчик" не отображается. Ее необходимо добавить на ленту для использования команд XML в Office.

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

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

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

Решением всех описанных выше проблем стал утвержденный в 1998 году международной организацией W3C (EN) язык XML. XML (eXtensible Markup Language) - это расширяемый язык разметки, предназначенный для описания в текстовой форме структурированных данных. Этот текстовый (text-based) формат, во многом схожий с HTML, разработан специально для хранения и передачи данных.

XML позволяет описывать и передавать такие структурированные данные, как:

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

Создание XML-документов

Данные, описанные на языке XML, называются XML-документами. Язык XML легко читаем и достаточно прост для понимания. Если вы были знакомы с HTML, то научиться составлять XML-документы не составит для вас никакого труда.

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

Доброе утро НОВОСТИ Сериал Нежный яд Поле чудес (повтор) М. ф. Здоровье НОВОСТИ С легким паром! М. ф. Вместе НОВОСТИ Звездный час НОВОСТИ Погода Спокойной ночи, малыши ВРЕМЯ Взгляд

Этот текст может быть создан в обычном текстовом формате и сохранен в файле с расширением XML.

Любой элемент XML-документа может иметь атрибуты, уточняющие его характеристики. Атрибут - это пара имя="значение", которая задается при определении элемента в начальном тэге. В приведенном выше примере у элемента имеется атрибут date="25 декабря", а у элемента - атрибут name="ОРТ".

Принцип расширяемости языка XML состоит в возможности использования неограниченного количества пар тэгов, определяемых создателем XML-документа. Например, приведенное выше описание программы телепередач можно расширить, включив в него информацию о регионе вещания и программу передач канала РТР. В этом случае XML-описание примет вид:

Россия Санкт-Петербург Доброе утро НОВОСТИ Сериал Нежный яд Поле чудес (повтор) М. ф. Здоровье НОВОСТИ С легким паром! М. ф. Вместе НОВОСТИ Звездный час НОВОСТИ Погода Спокойной ночи, малыши ВРЕМЯ Взгляд М. ф. Погода Почта РТР Доброе утро, страна! Сам себе режиссер Сиреневый туман ЗОЛОТОЙ КЛЮЧ Федерация Секретные агенты Боярский Двор Моя семья Аншлаг ВЕСТИ АСТЕРОИД (США) УЖИН У ФРЕДА (США) Погода

Теперь из этого XML-описания можно извлечь программу телепередач каналов ОРТ и РТР на 25 декабря по городу Санкт-Петербург, Россия.

Принцип независимости определения внутренней структуры документа от способов представления этой информации состоит в отделении данных от процесса их обработки и отображения. Таким образом, полученные данные можно использовать в соответствии с нуждами клиента, то есть выбирать нужное оформление, применять необходимые методы обработки.

Управлять отображением элементов в окне программы-клиента (например, в окне броузера) можно с помощью специальных инструкций - стилевых таблиц XSL (eXstensible Stylesheet Language). Эти таблицы XSL позволяют определять оформление элемента в зависимости от его месторасположения внутри документа, то есть к двум элементам с одинаковым названием могут применяться различные правила форматирования. Кроме того, языком, лежащим в основе XSL, является XML, а это означает, что таблицы XSL более универсальны, а для контроля корректности составления таких стилевых таблиц можно использовать DTD-описания или схемы данных, рассмотренные ниже.

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

  • Каждый открывающий тэг, определяющий некоторую часть данных в документе, обязательно должен сопровождаться закрывающим, то есть, в отличие от HTML, нельзя опускать закрывающие тэги.
  • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов.
  • В XML учитывается регистр символов.
  • Вся информация, располагающаяся между начальным и конечным тэгами, рассматривается в XML как данные, и поэтому учитываются все символы форматирования (то есть пробелы, переводы строк, табуляции не игнорируются, как в HTML).
  • В XML существует набор зарезервированных символов, которые должны быть заданы в XML-документе только специальным образом. Такими символами и задающими их наборами символов являются:
    < <
    & &
    > >
    " "
    " "
  • Каждый XML-документ должен иметь уникальный корневой элемент. В нашем примере таким элементом является элемент .
  • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки.

Если XML-документ не нарушает приведенные выше правила, то он называется формально-правильным .

На сегодняшний день существует два способа контроля правильности XML-документа: DTD-определения (Document Type Definition) и схемы данных (Semantic Schema). Если XML-документ создается и пересылается с использованием DTD-описаний или схем (Schemas), то он называется валидным .

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

Поскольку XML-элементы, используемые в одном документе, могут быть взяты из различных XML-схем, то может возникнуть конфликт имен элементов. Пространства имен (name spaces) позволяют решить эту проблему. Пространства имен позволяют различать элементы с одинаковыми именами, но имеющие разное смысловое значение. Однако они не определяют способ обработки таких элементов - этим занимаются XML-анализаторы, обсуждаемые ниже.

Чтобы более четко представить себе назначение и возможности использования XML-схем, приведем схему для рассмотренного выше примера программы телепередач.

Эта XML-схема должна быть сохранена в файле TV-ProgramSchema.XML. Корневым элементом этого XML-файла является элемент , атрибутами которого является название схемы TV-ProgramSchema и ссылка на пространства имен, которые определяют встроенные типы данных, используемые в этой схеме: xmlns="urn:schemas-microsoft-com:xml-data" . Атрибуты элементов этой схемы minOccurs и maxOccurs задают соответственно минимально и максимально возможное количество таких элементов в схеме. Например, строчка означает, что количество элементов типа item (то есть самих телепередач) в схеме может быть от 0 до бесконечности.

Если для контроля правильности XML-описания программы телепередач использовать приведенную выше схему, то в заголовке XML-документа необходимо указать используемую схему. Тогда XML-описание программы телепередач канала ОРТ будет выглядеть следующим образом:

Россия Санкт-Петербург Доброе утро НОВОСТИ Сериал Нежный яд Поле чудес (повтор) М. ф. Здоровье НОВОСТИ С легким паром! М. ф. Вместе НОВОСТИ Звездный час НОВОСТИ Погода Спокойной ночи, малыши ВРЕМЯ Взгляд

Теперь корневой элемент этого XML-описания имеет атрибут xmlns="x-schema:TV-ProgramSchema.xml", являющийся ссылкой на используемую XML-схему.

Анализ XML-документов

Получение данных из XML-документа, а также проверка корректности XML-документов обеспечивается анализаторами (parsers) XML-документов. Если XML-документ является формально-правильным, то все анализаторы, предназначенные для разбора XML-документов, смогут работать с ним корректно.

Поскольку использование DTD в XML не является обязательным, то любой формально-правильный документ может быть распознан и разобран программой, предназначенной для анализа XML-документов. Например, любое XML-описание, приведенное в этом документе, является формально-правильным, поэтому любым XML-анализатором будет распознано корректно.

Если же на вход XML-анализатору подается XML-документ, использующий XML-схему, то он будет разобран, проверен на правильность и соответствие схеме. Например, XML-описание программы телепередач канала РТР, использующее схему TV-ProgramSchema.xml, будет признано формально-правильным и валидным.

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

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

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

В некоторых анализаторах способ представления структуры документа основывается на спецификации DOM (Document Object Model), что позволяет использовать строгую иерархическую модель DOM при создании XML-документов.

Примером XML-анализатора может служить встроенный в Microsoft Internet Explorer версии 5.0 XML-анализатор MSXML. Он позволяет читать данные из XML-файла, обрабатывать их, генерировать дерево элементов, отображать данные с использованием стилевых таблиц XSL, а также, используя DOM, представлять все элементы данных в виде объектов.

Использование XML

Многие специалисты рассматривают XML как новую технологию интеграции программных компонент. Основными преимуществами использования XML являются:

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

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

Кроме того, язык XML может использоваться в качестве средства для описания грамматики других языков и контроля правильности составления документов.

Инструменты обработки данных, полученных в формате XML, могут быть разработаны в среде Visual Basic, Java или C++.

Язык XML (Extensible Markup Language) был разработан рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C). Вот как описывают его создатели:

«Расширяемый язык разметки Extensible Markup Language (XML) представляет собой составную часть языка SGML... Он предназначен для облегчения использования языка SGML в Web и выполнения задач, которые в настоящее время реализуются с помощью языка HTML. XML разработан с целью усовершенствовать применение и взаимодействие языков SGML и HTML.»

Это выдержка из спецификации версии 1.0 XML, созданной XML Working Group в феврале 1998 г. Весь документ вы можете найти на сайте W3C по адресу http://www.w3.org/TR/REC/-xml .

XML - язык разметки, разработанный специально для размещения информации в World Wide Web, аналогично языку гипертекстовой разметки HTML (Hypertext Markup Language), который изначально стал стандартным языком создания Web-страниц. Поскольку язык HTML полностью удовлетворяет всем нашим потребностям, возникает вопрос: для чего понадобился совершенно новый язык для Web? В чем состоят его преимущества и достоинства? Как он взаимодействует с HTML? Заменит ли он HTML, или только усовершенствует его? Наконец, что собой представляет язык SGML, частью которого является XML, и почему нельзя использовать для Web-страниц собственно SGML? В этой главе я постараюсь ответить на все эти вопросы.

Предназначение XML

Язык HTML предоставляет фиксированный набор элементов, которые вы можете использовать для размещения компонентов на типовой Web-стра-нице, Примерами таких элементов являются заголовки, абзацы, списки, таблицы, изображения и связи, Например, HTML отлично подходит для

создания личной домашней страницы. Ниже приведено описание домашней страницы в кодах HTML:

Home Раgе

Michael Young"s 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:

  • «1. XML должен стать языком прямого использования в Internet.»

    Как вы уже могли понять, XML был разработан главным образом для хранения и распространения информации в Web.

    «2. XML будет поддерживать большое количество приложений.»

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

    «3.XML будет совместим с SGML.»

    XML является специализированной ветвью SGML. Преимущество здесь заключается в простоте адаптации программных средств SGML для работы с HTML.

    «4. Будет легче писать программы, обрабатывающие XML-документы.»

    Для практического использования XML необходимо, чтобы было достаточно просто писать браузеры и другие программы, обрабатывающие XML-документы. На деле основной причиной выделения XML из SGML была доступность написания программ для обработки XML-документов.

    «5. Количество дополнительных функций в XML должно быть минимальным, а в идеале - нулевым.»

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

    «6. XML-документы должны быть понятными и ясными для пользователя.»

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

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

    «7. Разработка XML должна быть завершена достаточно быстро.»

    XML станет общепринятым стандартом лишь в том случае, если программисты и пользователи примут его. Следует создать этот стандарт до того, как общество примет альтернативные стандарты, которые все быстрее создаются компаниями-разработчиками программного обеспечения.

    «8. Язык XML должен быть формальным и кратким.»

    Спецификация XML написана на формальном языке, используемом для представления компьютерных языков, с нотацией, известной как расширенная форма Бакус-Наура (Extended Backus-Naur Form (EBNF)). Этот формальный язык, хотя и достаточно сложен для восприятия, лишен двусмысленности и существенно облегчает написание XML-документов, а в особенности программ для их обработки.

    «9. XML-документы будет проще создавать.»

    При практическом использовании XML как языка разметки для Web-документов упрощается не только написание обрабатывающих программ, но и процесс создания самих XML-документов.

    «10. Сжатая форма при XML-разметке не важна.»

    В соответствии с пунктом 6 (XML-документ должен быть ясным и понятным для пользователя), XML-разметка не должна быть излишне сжатой, чтобы не вступать в противоречие с указанной целью.

    Стандартные XML-приложения

    Вы можете использовать XML не только для описания отдельного документа. Индивидуальный пользователь, компания или комитет по стандартам может определить необходимый набор элементов XML и структуру документа, которые будут применяться для особого класса документов. Подобный набор элементов и описание структуры документа называют XML-приложением или XML-словарем.

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

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

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

    XML-приложения, повышающие качество XML-документов

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

    • Extensible Stylesheet Language (XSL) позволяет вам создавать мощные стилевые таблицы с использованием синтаксиса XML.
    • XML Schema позволяет разрабатывать подробные схемы для ваших XML-документов с использованием стандартного синтаксиса XML, что является более мощной альтернативой применения DTD.
    • XML Linking Language (XLink) дает возможность связывать ваши XML-документы. Он поддерживает множественные целевые ссылки и другие полезные функции, обеспечивая большую свободу по сравнению с механизмом организации ссылок в HTML.
    • XML Pointer Language (XPointer) позволяет определять гибкие целевые ссылки. При совместном использовании XPointer и XLink вы можете организовывать ссылки на любое место в целевом документе -а не только переходы к специально выделенным пунктам.

    Об XLS будет рассказано в главе 10. Другие XML-приложения еще не доведены до готовности и не рассматриваются в этой книге. (XLink и XPointer не поддерживаются в Internet Explorer 5).

    Как видите, XML является не только полезным инструментом для описания документов, но и служит основой для построения приложений и расширении, которые могут оказаться востребованными по мере развития Internet.

    Реальное использование XML

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

    Ссылка . Более полный список текущих и перспективных XML-приложений, включая их подробное описание, вы можете найти на Web-странице Oasis SGML/XML (http://www.oasis-open.arg/cover/ocml . htmW applications).

    • Работа с базами данных. Подобно традиционным базам данных, XML может быть использован для присвоения метки каждому полю информации внутри каждой записи базы данных. (Например, можно пометить каждое имя, адрес и номер телефона внутри записей списка адресов.) После этого вы сможете отображать данные различными способами и организовывать поиск, сортировку, фильтрацию и иную обработку данных.
    • Структурирование документов. Иерархическая структура XML-до-кументов идеально подходит для разметки структуры таких документов, как романы, научные труды, пьесы. Например, вы можете использовать XML для разметки пьесы на акты, сцены, размечать действующих лиц, сюжетные линии, декорации и т. д. XML-разметка дает возможность программам отображать или распечатывать документ в необходимом формате; находить, извлекать или манипулировать информацией в документе; генерировать оглавления, резюме и аннотации; обрабатывать информацию иными способами.
    • Работа с векторной графикой (VML - Vector Markup Language).
    • Мультимедиа презентации (SMIL - Synchronized Multimedia Integration Language, HTML + TIME - HTML Timed Interactive Multimedia Extensions).
    • Описание каналов. Каналы представляют собой Web-страницы, которые автоматически рассылаются подписчикам. (CDF - Channel Definition Format).
    • Описание программных пакетов и их взаимосвязей. Такие описания обеспечивают распространение и обновление программных продуктов в сети (OSD - Open Software Description).
    • Взаимодействие приложений через Web с использованием XML-co-общений. Эти сообщения являются независимыми от операционных систем, объектных моделей и компьютерных языков (SOAP - Simple Object Access Protocol).
    • Отправка электронных бизнес-карт через e-mail.
    • Обмен финансовой информацией. Обмен информацией в открытом и понятном формате осуществляется между финансовыми программами (такими как Quicken и Microsoft Money) и финансовыми институтами (банками, общественными фондами) (OFX - Open Financial Exchange).
    • Создание, управление и использование сложных цифровых форм для коммерческих Internet-транзакций. Подобные формы могут включать оцифрованные подписи, которые делают их признанными юридически (XFDL - Extensible Forms Description Language).
    • Обмен запросами по приему на работу и резюме (HRMML - Human Resource Management Markup Language).
    • Форматирование математических формул и научной информации в
    • 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).
    • Обработка и доставка информации курьерскими службами. Служба Federal Express, например, уже использует XML для этих целей.
    • Представление рекламы в прессе в цифровом формате (AdMarkup).
    • Заполнение юридических документов и электронный обмен юридической информацией (XCL - XML Court Interface).
    • Кодирование прогнозов погоды (OMF - Weather Observation Markup Format).
    • Обмен информацией по операциям с недвижимостью (RETS - Real Estate Transaction Standard).
    • Обмен страховой информацией.
    • Обмен новостями и информацией с использованием открытых Web-стандартов (XMLNews).
    • Представление религиозной информации и разметка текстов богослужений (ThML - Theological Markup Language, LitML - Liturgical Markup Language).

    Люсинда Дайкс, Эд Титтель

    XML - это язык разметки, который создает веб-страницы. Прежде чем вы начнете использовать XML, изучите разницу между действительным и хорошо сформированным документом, как создать элементы определения DTD (Document Type Definition) и основные объявления схем для создания XML-документа. Вы также захотите понимать регулярно используемые зарезервированные символы, а также какие веб-браузеры лучше всего поддерживают XML и таблицы стилей.

    Действительный в сравнении с хорошо сформированным XML-документом

    В XML действительный документ должен соответствовать правилам в его DTD (определение типа документа) или схеме, который определяет, какие элементы могут отображаться в документа и того, как элементы могут входить друг в друга. Если документ плохо сформирован, он не продвигается далеко в XML-мире, поэтому при создании XML-документа вам необходимо играть по некоторым очень простым правилам. A хорошо сформированный документ должен иметь следующие компоненты:

      Все начальные и конечные теги совпадают. Другими словами, открывающие и закрывающие части всегда должны содержать одно и то же имя в одном и том же случае: … или …, но не ….

      Пустые элементы следуют специальному синтаксису XML, например .

      Все значения атрибутов встречаются в одинарных или двойных кавычках: id = "value"> или .

    Правила создания определения типа документа или DTD, Элементы

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

    Символ Значение Пример
    #PCDATA Содержит разобранные символьные данные или текст
    #PCDATA, имя-элемента Содержит текст и другой элемент; #PCDATA всегда отображается первым в правиле child) *>
    , (запятая) Необходимо использовать в этом порядке child3)>
    | (панель труб) Использовать только один элемент из предоставленных вариантов child3)>
    имя-элемента (само по себе) Использовать только одно имя
    имя-элемента? child3?)>
    имя-элемента + Использовать один или несколько раз child3)>
    имя-элемента * Использовать один раз, много раз или вообще нет child3)>
    () Указывает группы; может быть вложенным или
    child4)>

    Декларации основных XML-схем

    Документ XML Schema построен из серии объявлений, которые дают очень подробную информацию и обеспечивают, чтобы информация, содержащаяся в документе XML, находилась в правильной форме.

    Объявление Назначение Синтаксис
    Схема Определяет язык, который использует схема xmlns: xsd = " // www. w3. org / 2001 / XMLSchema ">
    Элемент Определяет элемент
    Атрибут Определяет атрибут type =" type ">
    Сложный тип Определяет элемент, который содержит другие элементы, содержит атрибуты
    или содержит смешанный контент (элементы и текст)
    Простой тип Создает ограниченный тип данных для элемента или атрибута
    значение
    Последовательный компоновщик Указывает, что атрибуты или элементы в сложном типе
    должны быть перечислены в порядке
    Choice compositor Указывает, что может использоваться любой из атрибутов или элементов в сложном типе
    All compositor Указывает, что могут быть использованы любые или все атрибуты или элементы в сложном типе
    Аннотация Содержит элементы документации и / или appInfo, которые предоставляют
    дополнительную информацию и комментарии к документу схемы
    Документация Предоставляет удобочитаемую информацию в аннотации
    Информация о приложении Предоставляет читаемую компьютером информацию в пределах
    аннотацию

    Общие зарезервированные символы в XML

    Некоторые объекты зарезервированы для внутреннего использования в XML и должны быть заменены символьными ссылками в вашем контенте. Эти пять обычно используемых внутренних объектов уже определены как часть XML и готовы к использованию:

    CSS1?

    XSLT 1. 0? Да Да Нет Нет
    Internet Explorer 6. 0 Да Да Да Да
    Mozilla 1. 7. 5 Да Да Да Да
    Mozilla Firefox 1. 0 Да Да Да Да
    Netscape Navigator 7 Да Да Да Да
    Opera 7 Да Да Да Нет

    XML был создан для описания данных с прицелом на то, что представляют собой данные.

    HTML был создан для отображения данных с прицелом на то, как выглядят отображаемые данные.

    Что такое XML?

    • XML расшифровывается как Расширяемый язык разметки (EXtensible Markup Language)
    • XML — это язык разметки , похожий на HTML
    • XML был создан для описания данных
    • Теги XML не предопределены. Вы можете использовать свои теги
    • XML использует Определение Типа Документа (Document Type Definition — DTD) или схему XML (XML Schema) для описания данных
    • XML рекомендован W3С

    Главное различие между XML и HTML

    XML был разработан для передачи данных.

    XML не является заменой HTML.

    XML и HTML были разработаны с различными целями:

    • XML был создан для описания данных и основное внимание уделяется тому, какие данные передаются
    • HTML был разработан для отображения данных основное внимание уделяются отображению данных
    • Таким образом, HTML больше связан с отображением информации, в то время как XML — описанием информации.

    XML ничего не делает

    XML не был создан для выполнения каких-либо действий.

    Может быть это будет непросто понять, но XML не выполняет никаких действий. Этот язык разметки был создан для структурирования, хранения и передачи информации. Следующий пример является запиской от Антона Ире, представленной в XML:

    Ira

    Anton

    Напоминание

    Не забудь о встрече на этой неделе!

    Как видите, язык XML очень лаконичен.

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

    XML — свободный расширяемый язык разметки

    Теги XML не предопределены. Вы можете вводить свои теги.

    Теги и структура документа в HTML заданы заранее. Создатель html-документа может только использовать теги, определенные стандартами.

    XML позвволяет вводить свои теги и структуру документа автору xml-документа. Теги, приведенные в примере (например, и ) не определены стандартом XML. Эти теги введены автором документа.

    XML является дополнением HTML

    XML — это не замена HTML.

    Важно понять, что XML не является заменой HTML. В будущем веб-разработчики будут использовать XML для описания данных, в то время как, HTML будет использоваться для форматирования и отображения этих данных.

    Мое лучшее определение XML таково: XML — это кроссплатформенный, не зависящий от программного и аппаратного обеспечения инструмент передачи информации.

    Заметка: Кроссплатформенный — пригодный для любой операционной системы и любого аппаратного обеспечения.

    Если вы знаете, существуют различные операционные системы, кроме знакомой нам Windows. Это ОС Linux, Mac и другие.

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

    XML в будущей веб-разработке

    XML будет использоваться везде.

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