Новый сайт "КВ" находится по адресу: new.kv.by
Свежий номер "КВ" - теперь в PDF! Любишь книгу - не вопрос, ждем тебя на сайте OZ! Российские "маски-шоу", суды над директорами школ и прочие атрибуты защиты интеллектуальной собственности в обозримом будущем могут стать обыденным делом для жителей Беларуси
Подробнее... Подробнее... Подробнее...
Компьютерные Вести On-line
Газета
Свежий номер
Архив
Поиск
Справочник фирм
Форум
Опросы
Почтовая рассылка
Частные объявления
Редакция
Сайт
Software, №1, 2008 год

Копия для печати

YAML и XF: еще две альтернативы XML

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


YAML

YAML - это рекурсивная аббревиатура, которая расшифровывается как "YAML Ain't Markup Language" (по-русски это будет звучать как "YAML не является языком разметки"). Чем он при этом является, правда, его создатели уточнять не берутся, но, пожалуй, определение "язык разметки" будет всё-таки довольно подходящим. Чем YAML отличается от XML? Компактностью представления данных и удобством их редактирования для человека. Для того, чтобы эти утверждения не выглядели голословными, приведу пример одних и тех же данных, записанных в XML и YAML. Сначала XML-версия:

<bindings>
 <binding>
  <ircEvent>PRIVMSG</ircEvent>
  <method>newUri</method>
  <regex>^http://.*</regex>
 </binding>
 <binding>
  <ircEvent>PRIVMSG</ircEvent>
  <method>deleteUri</method>
  <regex>^delete.*</regex>
 </binding>
 <binding>
  <ircEvent>PRIVMSG</ircEvent>
  <method>randomUri</method>
  <regex>^random.*</regex>
 </binding>
</bindings>

А теперь YAML:

--
-
- PRIVMSG
- newUri
- '^http://.*'
-
- PRIVMSG
- deleteUri
- ^delete.*
-
- PRIVMSG
- randomUri
- ^random.*

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

YAML - это не просто хорошая "придумка", а реально применяющаяся на практике технология. Он активно применяется в разных файлах конфигурации разных приложений, используется в быстро набирающем популярность фрэймворке Ruby On Rails.


XF

Это название расшифровывается уже безо всякой рекурсии. XF - это просто eXchange Format, т.е. формат обмена данными. Он, в целом, довольно похож на JSON по своей структуре, хотя имеет и отличия. Вот пример описания данных с помощью XF:

"Фигура 1": "квадрат" {
 x = 100;
 y = 150;
 "сторона" = 300;
}
"Фигура 2": "круг" {
 x = 200;
 y = 300;
 "радиус" = 200;
 "цвета" {
  "закрашен" = "да";
  "цвет-окружности" = "красный";
  "цвет-фона" = "зеленый";
 }
}

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


Дополнительная информация

Официальный сайт YAML - www.yaml.org. Там можно найти различные библиотеки для работы с этим форматом из разных языков программирования, узнать подробную спецификацию YAML.

Что касается XF, то здесь адрес официального сайта таков: www.xfhome.org. Содержание сайта, в принципе, аналогично сайту YAML.

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

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Обсуждение статьи (записей: 2)


Предыдущий материал номера Содержание номера Следующий материал номера
Предыдущий материал рубрики Архив рубрики Следующий материал рубрики
Наверх
"КВ" в PDF
№4'2012 (1.02.2012)
Dev №1 (27.01.2012)
№3'2012 (25.01.2012)
№2'2012 (18.01.2012)
№1'2012 (11.01.2012)
Размещение рекламы
Поставка оборудования для беспроводных сетей передачи данных

(c) 1994-2011, "Компьютерные Вести"
(c) Дизайн и программирование, 1997-2011, Алекс Дробыш