На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Долгожданный XML

Статья опубликована в выпуске журнала № 4 за 2004 год.
Аннотация:
Abstract:
Авторы: Семенов С.В. () - , Лещев В.А. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 9717
Версия для печати
Выпуск в формате PDF (1.31Мб)

Размер шрифта:       Шрифт:

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

Именно сейчас мы переживаем некий переломный момент в XML-технологиях, количественный рост стандартов начинает переходить в новое качество. Производители программного обеспечения понимают, что все современные сложные программные продукты обязаны иметь как минимум средства экспорта/импорта в формат XML. Представители бизнеса одними из первых осознали такое положение вещей и уже стремятся активно применять XML-технологии, например, 1С в своих продуктах и "Формоза" в системе «Идеальной дистрибуции» RS-2000.

В 1986 году был разработан и позднее принят стандарт на универсальный язык разметки Standard generalized markup language (SGML), разработанный для правительственных учреждений в США для обмена информацией между правительственными и государственными учреждениями. Принципы, заложенные в нем, позволяли создавать свои языки разметки. Но его практическое применение оказалось довольно проблематичным из-за сложности, поэтому возникла потребность в более простом и достаточно гибком языке.

По мере широкого распространения WWW становилось очевидным, что язык гипертекстовой разметки HTML страдает многими ограничениями и недостатками. Необходимость нового, стандартизованного, полностью расширяемого строго структурированного языка стала очевидной. В 1994 году Тим Бернес Ли основал World wide web consortium (W3C), одной из основных целей которой являлась разработка свободно распространяемых Интернет-технологий на принципах универсальной доступности вне зависимости от используемых платформ, устройств и национальных языков.

В 1996 году консорциум Word wide web приступил к проектированию расширяемого языка разметки, который сочетал бы в себе гибкость и мощность языка SGML, совместимость с HTML, но при этом был бы проще в использовании. В феврале 1998 года был принят стандарт этого языка как XML 1.0 в качестве рекомендаций W3C. В настоящий момент существует выпущенная 4 февраля 2004 года extensible markup language (XML) 1.0 (третья редакция) рекомендация консорциума W3C.

XML – это первый язык, который делает документы одновременно удобными для восприятия человеком и пригодным для компьютерной обработки, что выгодно отличает его от HTML [2]. Интересно, что и HTML, и XML являются прямыми потомками SGML.

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

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

В качестве языка описания стилей консорциумом W3 предложен XSL (eXtended stylesheet language). Он позволяет создавать стили, служащие целям конвертации документов в формате XML в другие форматы (например, в HTML или текстовый формат) либо, наоборот, преобразовывать документы иных форматов в формат XML. Таким образом, стили – это некоторый механизм конвертации документов различных форматов, а XSL – это язык описания стилей.

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

Основные стандарты

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

Перечислим важнейшие задачи, решение которых обеспечивает платформа XML:

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

§    интеграция неоднородных информационных ресурсов, различных технологий управления данными и приложений;

§    создание новой ветви технологий баз данных, называемых XML-ориентированными базами данных;

§    обеспечение инструментария для новых сфер применения.

Области применений стандартов платформы XML постоянно расширяются, что должно привести к созданию web-пространства и технологий нового поколения (семантического WWW).

Наиболее важная заслуга XML – представление данных на одном языке. Универсальный синтаксис открыл дорогу появлению ряда важных сопутствующих XML-технологий. Это языки XSL и XPath, предназначенные для работы с древовидной структурой документов; XML Schema – стандарт описания конкретных языков разметки, использующий синтаксис XML; XLink и XPointer – средства связи распределенных блоков информации в один общий документ; XQuery – язык запросов к размеченным данным и другие технологии.

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

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

Реализации

Большинство программного обеспечения, ориентированного на поддержку XML, разработано на Java. Наиболее популярным языком web-программирования является РНР. В последней, еще не получившей широкого распространения версии РНР 5 существенно переработана модель обработки XML-данных, улучшились возможности объектно-ориентированного представления, повысилось быстродействие системы, основанной на новой модели ядра Zend.

Недостатком РНР является то, что разработчики от релиза к релизу меняют правила игры, появляется новый интерфейс, который отражается в документации (даже доступной on-line) с большим опозданием. Например, в последней версии отказались от использования XSLT-процессора Sablotron в пользу libxslt. Изменился и интерфейс для xslt-преобразований, и ранее написанные модули приходится переписывать.

Преимущество Perl заключается в том, что он изначально был предназначен для обработки текста, а XML – это обычный текст, поэтому Perl и XML прекрасно дополняют друг друга [4]. Большой централизованный архив модулей Perl (CPAN) включает множество свободно распространяемых модулей, в том числе анализаторов. Можно быть уверенным, что при появлении новых технологий в сети CPAN появится поддерживающий ее модуль. Perl – язык более устоявшийся по сравнению с РНР.

Лидером поддержки XML несомненно является Java [5]. Важнейшим преимуществом Java является кроссплатформенность. К достоинствам Java можно отнести наличие огромного множества пакетов различных направлений, в том числе XML-базы данных, форматирующие пакеты и пакеты для обработки и представления графики. Многие из таких пакетов распространяются бесплатно. В стандартную поставку Java 2 SDK SE входит Java API XML Processing (JAXP) – интерфейсы и классы для работы с XML.

Word 2003

XML в Word – основа для построения решений для широкого спектра задач, таких как ведение отчетности, агрегирование данных, публикация, поиск и предоставление данных для бизнес-процессов. Кроме того, XML связывает приложения MS Office. Имея XML-схему, можно быть уверенным, что разрабатываемый документ будет удовлетворять необходимым требованиям, например ГОСТам.

Графика

Львиную долю интерактивных электронных документов (ИЭТР) занимает графика. XML-технология и здесь предлагает свой стандарт – Scalable vector graphics (SVG). Эта спецификация задает особенности и синтаксис. SVG – составной язык для описания двухмерных векторных и смешанных растрово/векторных изображений в XML. Фрагменты документов SVG могут внедряться в другие такие же документы, при этом доступны следующие возможности, присущие спецификации SVG:

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

-  отображение состояний с помощью различных визуальных эффектов – изменением формы примитива, его цвета или цветов составляющих, толщины линий;

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

-  именование элементов схемы, использование полнотекстового поиска;

-  использование гиперссылок с элементов схемы на произвольные документы;

-  использование гиперссылок на элементы схемы;

-  полнотекстовой поиск на схеме;

-  связь элементов схемы с записями в базах данных;

-  изменение уровня подробности просмотра в зависимости от решаемой задачи или текущего масштаба;

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

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

Другие преимущества SVG-графики:

§    меньший размер файлов, чем при использовании полностью растровых форматов GIF и JPEG;

§    независимость разрешения изображения от масштаба (изображения могут уменьшаться или увеличиваться для пропорционального отображения в соответствии с размером дисплея на различных типах сетевых устройств, таких как палмтопы, GPS, сотовые телефоны);

§    возможность редактирования и поиска текста в изображении;

§    возможность применения градиентных заливок высокого разрешения, теней и других растровых фильтров;

§    улучшенное управление цветом и точность представления цвета;

§    улучшенный типографский контроль, включая кернинг, текст по кривой и неограниченное использование шрифтов;

§    поддержка каскадных таблиц стилей, делающая возможным глобальные изменения web-сайта;

§    многослойная прозрачность.

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

Что будут представлять собой чертежи в XML-представлении? Любой документ в XML-технологии должен (может) состоять (в основном) из 4 частей: из XML–контент, XML–схемы, стилевых таблиц, таблиц преобразований.

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

XML-схемы – это описание типов данных чертежа и их взаимные связи (некий аналог оглавления, выделенная структура контента). Стилевые таблицы – это способы вывода на различные внешние устройства (плоттер, принтер, экран). Таблицы преобразований – это некий аналог SQL-запросов в реляционных БД.

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

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

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

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

Широкий подход стирает традиционную грань между чертежами и текстом, есть только информация, которую можно представить разными способами. Основные задачи – максимальная понимаемость человеком и возможность автоматизированной обработки, где это необходимо. То есть надо стремиться к тому, чтобы наибольшее число задач ИЭТР перекладывалось на обработку приложениями, а не человеком, (например, задачи типа контроля сроков службы, контроля параметров, заказа материалов и т.п.).

Этот подход не противоречит традиционной технологии проектирования и документирования. В узле может лежать и традиционный чертеж, и эскиз, и отсканированный чертеж из архива. Данный подход позволяет значительно ускорить процесс конструирования и документирования за счет того, что уже в самом начале определяются «полочки», где должна лежать определенная информация, а заполнение этих полочек – по мере готовности той или иной формы представления.

Список литературы

1. Дроздов М. Введение в XML. – 2003 (http://vfpdev.narod.ru/cvfp_r.html).

2. Дейтел Х.М., Дейтел П.Ж., Нието Т.Р. и др. Как программировать на XML. – М.: ЗАО «Издательство БИНОМ». 2001. – 944 с.: ил.

3. Ладыженский Г. XML: стандарт для обмена электронными документами.

4. Макинтош Дж., Рэй Э.Т. Perl&XML. – СПб.: Питер, 2003. – 208 с.: ил.

5. Старыгин А. XML: разработка web-приложений. – Спб.: БХВ-Петербург, 2003. -592 с.: ил.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=573
Версия для печати
Выпуск в формате PDF (1.31Мб)
Статья опубликована в выпуске журнала № 4 за 2004 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: