Отправляет email-рассылки с помощью сервиса Sendsay

XML и сопутствующие технологии

  Все выпуски  

Все теги от a до xmp


XML и сопутствующие технологии
О рассылке
Сайт рассылки: http://www.frnet.narod.ru/. На нем вы найдете все выпуски рассылки, а также полезную информацию по web-дизайну и web-программированию.
Выпуск №1: Начинаем перестраиваться на другую тематику.
В последнем выпуске рассылке я пообещал открыть другую тему и вот наконец свершилось. Я изменил название рассылки, но в каталоге Subscribe.ru на все же остается временно под старым названием, что ж будем ждать решение службы поддержки авторов. Итак, сегодня вводный выпуск и для начала зададимся вопросом: Что же такое XML? Прекрасный ответ на это дает следующая статья.
XML в 10 тезисах
Автор: Bert Bos
Оригинал статьи: W3C
Перевод: В.Ярошевич

XML, XLink, Namespace, DTD, Schema, CSS, XHTML ... Если вы впервые столкнулись с XML, трудно даже понять, с чего начать. Этот короткий обзор представляет собой попытку охватить основные идеи XML, чтобы новичок мог увидеть концепцию в целом, не путаясь в деталях. Если же вы кому-то представляете XML, почему бы не начать с этих 10 тезисов?

1. XML — это способ записи структурированных данных

Под "структурированными данными" обычно подразумевают объекты типа электронных таблиц, адресных книг, конфигурационных параметров, финансовых транзакционных записей, технических чертежей и тому подобные. XML представляет собой набор правил (вы можете также считать их инструкциями или соглашениями) для разработки текстовых форматов, которые позволят вам структурировать ваши данные. XML — это не язык программирования, и вам не нужно быть программистом, чтобы использовать или изучать его. XML облегчает компьютеру задачу создания и чтения данных, обеспечивая при этом однозначность их структуры. XML позволяет избежать распространенных ошибок проектирования языков: он расширяем, независим от платформы, включает поддержку интернационализации и локализации. XML полностью совместим с Unicode.

2. XML немного похож на HTML

Также как и в HTML, в XML используются тэги (слова, заключенные в '<' и '>') и атрибуты (вида имя="значение"). Но если в HTML фиксируется смысловое значение каждого тэга и атрибута и часто то, как текст между ними будет выглядеть в браузере, в XML тэги используются только для логической разметки данных, и их интерпретация оставляется на усмотрение обрабатывающей программы. Другими словами, если вы встречаете "<p>" в XML-файле, то не стоит думать, что это параграф. В зависимости от контекста, это может быть цена (price), параметр (parameter), человек (person)... (вообще, кто сказал, что это должно быть слово, начинающееся с "p"?)

3. XML — это текст, но он не предназначен для чтения

Программы, которые работают с электронными таблицами, адресными книгами или другими структурированными данными, часто сохраняют эти данные на диск, используя либо двоичный, либо текстовый формат. Одним из преимуществ текстового формата является то, что люди при необходимости могут просматривать данные без использования программы, в которой они были созданы. На худой конец, вы можете читать данные, записанные в текстовом формате, в своем любимом текстовом редакторе. Также текстовые форматы облегчают разработчикам отладку своих приложений. По этим причинам, подобно HTML-файлам, XML-файлы являются текстовыми: они не предназначены для чтения людьми, но при необходимости могут быть прочитаны. Однако правила для XML-файлов гораздо строже, чем для HTML. Пропущенный тэг или атрибут без кавычек сделает файл непригодным, тогда как в 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 — синтаксис для адресации частей XML-документа. XPointer немного похож на URL, но вместо указания на документы в Сети, обращается к фрагментам данных внутри XML-файла. Каскадные таблицы стилей CSS могут применяться к XML-документам так же, как и к HTML. XSLболее продвинутый язык стилевых таблиц. Он, в свою очередь, базируется на XSLT языке трансформаций, использующемся для переформирования, добавления и удаления тэгов и атрибутов. DOM представляет собой стандартный интерфейс для манипулирования файлами XML (и HTML) из различных языков программирования. Языки XML Schema 1 и 2 призваны помочь разработчикам четко определять их собственные форматы, основанные на XML. Кроме перечисленных готово к использованию или находится в разработке еще множество модулей и средств. Следите за обновлениями на странице технических отчетов W3C.

6. XML нов, но не совсем

Разработка XML началась в 1996 году, и с февраля 1998 года является стандартом W3C, что может заставить вас думать об этой технологии как о довольно не зрелой. Но, в действительности, она не так уж и нова. До XML был SGML, разработанный в начале 80-х и принятый в качестве стандарта ISO в 1986 году, который широко использовался в проектах, связанных с большим количеством документации. И, конечно, HTML, разработка которого началась в 1990 году. Создатели XML просто взяли лучшее из SGML, и, основываясь на опыте HTML, создали нечто новое, что по своей мощи не уступает SGML, но гораздо аккуратнее и проще для использования. Иногда эволюцию, однако, трудно отличить от революции... И надо заметить, что пока SGML в основном используется для технической документации и в значительно меньшей степени для других видов данных, с XML все с точностью до наоборот.

7. XML ведет HTML к XHTML

Существует важное XML-приложение, являющееся форматом документов: W3C XHTML, преемник HTML. Большинство элементов XHTML такие же, как и в HTML. Синтаксис был немного изменен для соответствия правилам XML. Документ, являющийся "XML-based", наследует синтаксис XML и ограничивает его определенным способом (например, в XHTML разрешается "<p>", но не "<r>"); этот синтаксис также наделяется смысловым значением (XHTML определяет, что "<p>" обозначает "параграф" (paragraph), а не "цена" (price), "персона" (person) или что-либо еще).

8. XML - модульная технология

XML позволяет вам определять новые форматы документов, комбинируя и повторно используя уже созданные. Поскольку два формата, разработанные независимо, могут иметь элементы или атрибуты с одинаковыми именами, при их комбинировании следует соблюдать осторожность (что должно отличать "<p>", обозначающий "paragraph" в одном формате, от "person" в другом?). Для устранения возможной путаницы при одновременном использовании разных форматов XML предоставляет механизм пространств имен. XSL и RDF являются хорошими примерами основанных на XML форматов, использующих пространства имен. XML Schema разработан для отражения подобной поддержки модульности на уровне определения структур XML-документа, облегчая процесс построения новой схемы на основе существующих.

9. XML — основа для RDF и Семантической Сети

W3C Resource Description Framework (RDF) является текстовым форматом, основанным на XML, который поддерживает описание ресурсов и метаданных приложений, такие как списки музыкальных композиций, фотогалереи и библиографий. Например, RDF может позволить вам идентифицировать людей в сетевом фотоальбоме, используя информацию из персонального списка контактов; затем ваша почтовая программа может автоматически начинать письма этим людям с утверждения, что их фотографии находятся в Сети. Подобно тому, как HTML объединил документы, меню и формы, дав начало сегодняшней Сети, RDF объединяет приложения и агенты в Семантическую Сеть. Точно так же, как люди нуждаются в соглашениях о смысле слов, которые они используют между собой в общении, так и компьютеры для эффективного взаимодействия нуждаются в механизме согласования значений терминов. Формальные описания терминов некоторой области (например, похода по магазинам или производства) называются онтологиями и являются необходимой частью Семантической Сети. RDF, онтологии, и представление значений так, чтобы компьютеры могли помогать людям в их работе — это все темы деятельности Semantic Web Activity.

10. Технология XML свободна от лицензирования, платформо-независима и хорошо поддерживаема

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

Зключение
Архив рассылок сайта: http://www.frnet.narod.ru/subscribe.html.
Спасибо за внимание. С уважением, Алексей Голубев.

В избранное