XML, XLink, Namespace, DTD, Schema, CSS, XHTML...
Трудно понять, с чего начать, если вы впервые столкнулись с XML. В этом
десятитезисном обзоре мы попытались собрать достаточно основных понятий,
необходимых для понимания новичком всей концепции в целом без углубления в
детали. Кроме того, если вы представляете XML, почему бы ни начать с этих 10
положений?
1. XML предназначен для структурирования данных
Структурные данные включают в себя
такие вещи как электронные таблицы, адресные книги, параметры настроек,
финансовые сделки и технические чертежи. XML представляет собой набор правил
(указаний или соглашений - как бы вы их не называли) для создания текстовых
форматов, позволяющих структурировать ваши данные. XML - не язык
программирования, и чтобы выучить его не нужно быть программистом. XML позволяет
компьютеру легко формировать, читать данные и гарантировать, что их структура
недвусмысленна. XML избежал распространённых ошибок при проектировании языков:
он расширяем, платформонезависим и поддерживает интернационализацию и
локализацию. XML полностью совместим с Unicode.
2. XML немного похож на HTML
XML также как и HTML использует
метки (слова, заключённые в '<' и '>') и атрибуты (вида
имя="значение" ). Но в то время как HTML указывает значение всех
меток и атрибутов, и часто то, как заключённый в них текст будет выглядеть в
обозревателе, XML использует метки только для разграничения частей данных,
полностью оставляя толкование данных на усмотрение считывающего их приложения.
Другими словами, если вы встретили "<p>" в XML-файле, не думайте, что это
абзац (paragraph). В зависимости от
контекста, это может быть цена (price),
параметр (parameter), человек (person), число пи (p)...
(кроме того, совсем необязательно слово, начинающееся с "p").
3. XML - это текст, не предназначенный для чтения
Программы, создающие электронные
таблицы, адресные книги и иные структурные данные зачастую хранят такие данные
на диске с использованием двоичного или текстового формата. Преимуществом
текстового формата служит то, что он позволяет человеку при необходимости
просмотреть данные без использования создавшей их программы; в экстренном случае
текстовый формат можно прочитать с помощью своего любимого текстового редактора.
Помимо этого текстовый формат позволяет разработчикам с большей лёгкостью
отлаживать приложения. Как и файлы на HTML, XML-файлы являются текстом, который
человеку не нужно, но всё же можно прочесть по мере необходимости. Отличием от
HTML являются строгие правила XML-файлов. Забытая метка или атрибут без кавычек
делают XML-файл непригодным к использованию, тогда как в HTML подобные действия
допустимы и зачастую явно разрешены. Официальная спецификация XML запрещает
приложениям попытаться предугадать то, что имел в виду автор некорректного
XML-файла; если файл повреждён, приложения должно немедленно приостановиться и
сообщить об ошибке.
4. XML задуман многословным
Из-за того, что XML является текстовым
форматом, использующим для разграничения данных метки, файлы на XML практически
всегда оказываются большими по размеру, чем схожие двоичные форматы. Создатели
XML приняли такое решение сознательно. Преимущества текстового формата очевидны
(смотрите тезис 3), а недостатки обыкновенно могут быть скомпенсированы на ином
уровне. Пространство на диске уже не настолько дорого как было раньше, а
программы для сжатия, такие как zip и gzip очень
хорошо и очень быстро сжимают файлы. Помимо всего прочего, коммуникационные
протоколы, такие как протоколы модемов и основной протокол Сети HTTP/1.1, позволяют
сжимать данные налету, сохраняя пропускную способность также эффективно, как и
двоичный формат.
5. XML - семейство технологий
Спецификация XML 1.0 определяет,
что такое метки и атрибуты. За XML 1.0 следует "семейство XML", растущий набор
модулей, предлагающих полезные средства для выполнения важных и постоянно
требующихся задач. XLink описывает стандартный способ
добавления в XML-файл гиперссылок. Синтаксисы XPointer и XFragments (находятся в разработке) служат для обращения к
частям XML-документа. XPointer немного похож на URL, однако вместо обращения к
сетевым документам, он указывает на куски данных внутри XML-файла. Язык листов
стилей CSS применим к XML, равно как и
к HTML. XSL - более сложный язык,
предназначенный для составления листов стилей. Основывается он на XSLT, языке
трансформаций, используемого для перестройки, добавления и удаления меток и
атрибутов. Стандартный набор вызовов функций DOM отвечает за
управления файлами на XML (и HTML) из языка программирования. Точно определить
структуру своих собственных форматов, основанных на XML, разработчикам помогают
XML-схемы 1 и 2. Готовы к использованию или
находятся в стадии разработки ещё несколько модулей и инструментов. Следите за
страницей технических отчётов W3C.
6. XML нов, но не очень
Разработка XML была начата в 1996
году, достигнув статуса Рекомендации W3C в феврале 1998 года, что может
заставить вас думать об этой технологии как о довольно незрелой. В
действительности же, рассматриваемая технология не так уж нова. До XML
существовал разработанный в начале восьмидесятых SGML, ставший стандартом ISO с
1986 года и широко используемый для крупных проектов по выпуску документации. В
1990 году была начата разработка HTML. Создатели XML просто взяли лучшие части
SGML и, руководствуюсь опытом HTML, создатели нечто, не уступающее по мощности
SGML, и гораздо более привычное и лёгкое в использовании. Эволюцию, тем не
менее, бывает сложно отличить от революции... Кроме того, следует заметить, что
в то время как SGML по большей части используется для технической документации и
в гораздо меньшей степени для других разновидностей данных, с XML всё с
точностью до наоборот.
7. XML переводит HTML в XHTML
Существует важное приложение XML, то
есть формат документов: XHTML, преемник HTML. XHTML имеет множество схожих с
HTML элементов. Чтобы соответствовать правилам XML, был немного изменён
синтаксис. Основанный на XML документ наследует синтаксис XML и определённым
образом его ограничивает (например, XHTML разрешает "<p>", но запрещает
"<r>"); он также придаёт синтаксису смысл (в XHTML "<p>" означает
абзац, а не цену, человека или что-то ещё).
8. XML состоит из модулей
XML позволяет определить новый формат
документов путём совмещения и многократного использования других форматов.
Поскольку два независимо разработанных формата могут иметь элементы и атрибуты
со сходными именами, нужно соблюдать осторожность при совмещении таких форматов
("<p>" означает абзац из этого формата или человека из другого?). Для
устранения путаницы с именами при совмещении форматов XML предусматривает
механизм пространства
имён. Хорошими примерами основанных на XML форматов, использующих
пространства имён, являются XSL и RDF. Для отражения поддержки модульности на уровне определения
структур XML-документа была создана XML-схема, позволяющая легко
соединить две схемы для создания третьей, охватывающей структуру объединённого
документа.
9. XML - основа RDF и Семантической сети
Модель описания ресурсов W3C (RDF) - это основанный на
XML текстовый формат, поддерживающий приложения, связанные с описанием ресурсов
и метаданными, такие как, музыкальные программы, собрания фотографий и
библиографии. Например, RDF может помочь узнать людей в сетевом фотоальбоме,
используя информацию из списка личных контактов; затем ваш почтовый клиент мог
бы автоматически начать письмо тем людям, сообщив, что их фотографии находятся в
Сети. Точно также как HTML объединил документы, системы меню и формы, положив
начало сегодняшней Сети, RDF объединяет приложения и программы в одну
Семантическую сеть. Как людям, которым требуется условиться о значении
употребляемых при общении слов, так и компьютерам для эффективного общения
требуются механизмы согласования значений терминов. Неотъемлемой частью
Семантической сети является строгое описание терминов из определённой области
(например, покупки товаров или производства), называемое онтологией. RDF,
онтологии и представление информации в понятном компьютерам виде для того, чтобы
они могли помочь человеку трудиться - всё это предметы Программы Семантической сети.
10. XML не требует лицензирования, платформонезависим и обладает
широкой поддержкой
Выбирая за основу какого-либо проекта
XML, вы получаете доступ к обширной и всё увеличивающейся группе инструментов
(один из которых уже может выполнять то, что вам нужно!) и инженеров, получивших
навыки работы с этой технологией. Отдать предпочтение XML - почти то же самое,
что выбрать SQL для баз данных: строить собственную базу данных и управляющие ей
программы и процедуры всё равно придётся вам самим, но существует множество
инструментов, и имеются люди, готовые помочь. И поскольку XML не требует
лицензирования, вы можете создать собственные программы на его основе, не
заплатив никому ни копейки. Широкая и всё возрастающая поддержка означает, что
вы не привязаны к какому-либо отдельному производителю. XML не всегда
является лучшим решением, но его всегда стоит принимать во внимание.
Группа
W3C по связям, w3t-comm@w3.org Исправлено 13 ноября 2001
года (последнее обновление: $Date: 2001/12/20 10:34:31 $) Создано Бертом
Босом (Bert Bos) 27 марта 1999 года (Предыдущая
версия, на английском)
Copyright c 1999-2000 W3CR (MIT, INRIA, Keio), все права защищены.
|