XML сегодня
Сергей Бобровский
Из наиболее значимых этапов современного развития XML и различных технологий на его основе надо отметить следующие.
Ноябрь 1999 г. Выход языка XSLT, позволившего преобразовывать одно XML-представление данных в другое с учетом возможной разницы в организации этих данных и в наборах тегов. Обновленный вариант таблиц стилей XSLT 2 готовится к опубликованию в ближайшее время.
Январь 2000 г. Выход языка XHTML 1.0, представляющего семантику последней версии HTML 4.01 в виде XML-файлов.
Май 2001 г. Опубликована версия XHTML 1.1, реализующая модульный подход к созданию XHTML-файлов, что позволило анализировать эти файлы одинаковыми способами в разных операционных системах (в 2003 г. появилась версия XHTML 2.0, определяющая синтаксис HTML с помощью трех DTD-документов).
В этом же месяце усилиями WWW-консорциума увидела свет концепция XML Schema, которую в свое время предложила Microsoft, чтобы, видимо, полностью избавиться от наследия SGML. Концепция предназначалась для борьбы с главным недостатком XML - отсутствием в XML-документе жесткой привязки к определению типа документа DTD, ключевой концепции SGML. В XML возможность указания DTD-документа входила, но была необязательной, что нередко лишало XML-документы смысла, так как без определения значений тегов и их взаимосвязи такие документы нельзя было корректно интерпретировать.
На смену определениям типов документов DTD была призвана идея XML-схем. XML Schema позволила описывать структуру XML-документа и дополнила DTD средствами указания типов данных для различных тегов, что решило проблему использования одинаковых тегов в разных целях. Она не устранила главный недостаток XML, но оказала стимулирующее воздействие на разработчиков XML-документов, подтолкнув их к применению схем.
В то же время создалось впечатление, что Microsoft предложила схемы с целью внести раскол в сообщество XML-разработчиков и вновь перетянуть одеяло XML на себя. Корпорация выпустила свой вариант XML Schema еще до официального одобрения этой концепции консорциумом WWW, а затем ее примеру последовали другие производители. Кроме того, с появлением XML Schema возникла потребность в технологиях преобразования XML-данных с одной схемой в эти же XML-данные, представленные с помощью другой схемы. В результате был предложен универсальный формат Web-данных RDF, упростивший этот процесс. Но массового распространения он пока не получил .
Июнь 2001 г. Технология Xlink добавила интеллекта гиперссылкам XML - теперь стало возможным указывать, например, сценарий действий программы при щелчке пользователя на конкретной ссылке.
Технология XML Base позволила передавать элементы XML-документов по частям, что дало возможность понизить нагрузку на сети, где работали XML-приложения, и оптимизировать процесс обработки XML-данных .
Технология XPointer ввела в XML средства формирования указателей на объекты любых типов и любые их части (не только элементы текста).
Август 2001 г. Вышел язык SMIL 2.0, ориентированный на поддержку XML-документов в мобильных телефонах с доступом в Интернет.
Сентябрь 2001 г. Опубликовано описание языка SVG 1.0 - средства независимого представления векторной графики в Сети на основе XML (в нынешнем году появилась версия SVG 1.2, дополненная средствами качественного рендеринга, динамического формирования графических образов, поддержкой графики в разных форматах и т. д.).
Февраль 2002 г. Технология XML-Signature определила принципы использования электронной подписи XML-документов.
Текущий год богат на новые и обновленные XML-приложения и технологии. В феврале была наконец опубликована предварительная рекомендация стандарта XML 1.1. Потребность в совершенствовании XML возникла прежде всего в связи с развитием кодировки Unicode и новыми возможностями Unicode 2.0. Стало допустимым использовать произвольные кодировки символов в названиях элементов, удалось уйти от проблем с представлением символов перевода строки в разных операционных системах. Отметим, что WWW-консорциум разработал свою кодировку UCS (Universal Character Set), основанную на стандартах Unicode Standard и ISO/IEC 10646, и рекомендовал применять ее при построении всех текстовых материалов в Сети.
Были выпущены описания языка подготовки Web-форм XForms 1.0 , в котором разделены способы представления внешнего вида форм и их содержания, а также языка EMMA, задающего способы взаимодействия между человеком и программами в Сети. Этот язык определяет, как использовать XML для интерпретации информации, получаемой от пользователя не только через обычный графический интерфейс, но и в виде речевых сигналов, жестов, рукописного текста и пр.
Важной вехой в развитии СУБД стал документ по универсальному языку запросов к базам данных XML Query 1.0, синтаксически напоминающему SQL и Бейсик. XML Query позволяет готовить сложные запросы не только к реляционным данным, но и к информации, организованной иерархически и другими способами (при условии, что она хранится в XML-формате или ее можно просматривать в XML-представлении).
Консорциум OASIS, выросший, как уже говорилось, из группы SGML Open, специализируется на разработке открытых стандартов э-бизнеса, действуя при этом в тесной связке с WWW-коллегами. Среди его последних материалов - язык XLIFF для разметки и форматирования данных с учетом региональных стандартов и графическая нотация моделирования бизнес-процессов BPMN 1.0, ориентированная на технических и бизнес-специалистов.
Среди готовящихся к выпуску спецификаций XML-приложений такие, например, как язык описания трехмерных интерактивных миров X3D, призванный заменить язык виртуальной реальности VRML, и вторая версия языка представления математических выражений MathML, позволяющая описывать с помощью набора ANSI-символов внешний вид математических формул и их смысл.
Интересно, что в сентябре Тим Бернерс-Ли, директор WWW-консорциума, выдвинул идею коммерческого лицензирования ряда ISO-кодировок, задающих коды национальных языков, стран и валют. К чему приведет подобная инициатива, пока сказать сложно.
Недостатки XML
XML, безусловно, не лишен недостатков. Он весьма сложен в сравнении с HTML, что предъявляет повышенные требования к функциональным возможностям XML-клиентов. В XML отсутствуют средства описания способов отображения информации на экране - для этого необходимы таблицы стилей XSL и XSL-интерпретатор. Поскольку смысл тегов XML-документа в отличие от тегов HTML не определен, совместно с XSL-описаниями приходится создавать и поставлять сценарии на сценарных языках типа JavaScript.
Не очень удобна и внутренняя структура XML-файлов. Они, несмотря на свой текстовый формат, из-за заложенных в XML принципов оптимизации, рассчитанных на поддержку каналов с узкой пропускной способностью (что сегодня уже не очень актуально), плохо смотрятся в обычных редакторах и не наглядны при выводе на печать. Множественные повторяющиеся пробелы и переводы строк, которые активно используются для повышения наглядности HTML-документов (но не отображаются в браузерах), в XML-документах считаются данными и воспроизводятся без изменений, поэтому применять их приходится, соблюдая осторожность.
Из других мелких недочетов XML можно отметить невозможность поддержки одиночных тегов (не требующих закрывающего тега). Но такие одиночные теги активно применяются в HTML, например для разделения абзацев и параграфов. Тем не менее каких-то серьезных недоработок в XML не выявлено, что подтверждает готовящийся стандарт XML 1.1, в котором будут преимущественно косметические изменения.
ItWeek №(406)40`2003 от 28.10.2003
Помещена в музей с разрешения редакции
23 сентября 2018