|
За 5 лет существования XML, публикаций о нем, было, пожалуй, более, чем о
какой-либо другой интернет-технологии.
И все же до сих пор не так уж многие имеют четкое представление
об XML. Мне случалось неоднократно наблюдать как на собеседованиях
программисты, устраивающиеся на работу и не понаслышке знакомые
со своей предметной областью, в вопросе о предназначении XML
откровенно «плавают» словно нерадивые студенты на экзамене.
Подобные обстоятельства отчасти оправданы тем, что пресса,
буквально, завалена разношерстной информацией о бесчисленных
стандартах, языках и технологиях на платформе XML. Разобраться
в подобном информационном потоке не так-то просто. Но, вероятно,
вас занимает вопрос о том, стоит ли разбираться в этом потоке
и есть ли нужда в подобных знаниях у вас лично?! Даже если
вы обычный пользователь веб, без претензий на специализацию,
то технологическая эпоха XML вас не минует. «Хоть программистом
можешь ты не быть, о XMLе знать обязан». В этой пародии, как
и в любой хорошей шутке, есть своя доля истины. Столь любимый
нами и такой родной веб, фактически, исчерпал свой технологический
потенциал. Поэтому уже в 90х годах стала актуальной идея веба
нового поколения, так, называемого, семантического веба. Мы
привыкли к Интернету, как к среде разрозненных электронных
документов, связанных между собой гиперссылками. Когда-то
и эта концепция была революционной. Однако прошло время и
теперь мы на пороге информационного пространства, все элементы
которого связаны сложными множественными логическими цепочками,
в рамках развитых структурных моделей. Причем эти самые элементы
теперь не ограничиваются понятием документа, но могут быть
самыми различными сущностями: схемами, шаблонами, описаниями,
определениями, связями и различными типами данных. Функциональное
ядро веба нового поколения - XML.
Расшифровка аббревиатуры - расширяемый язык разметки может
легко ввести в заблуждение. Так уж устроено наше ассоциативное
мышление, что услышав сокращение XML мы тут же представляем
себе некую новую версию привычно HTML. Но понимать под XML
лишь разметку документов, все равно, что утверждать о том,
якобы персональный компьютер – устройство для набора текстов.
Но и не стоит распинать разработчиков. Полагаю, они вовсе
не предвкушали подобную путаницу. Исторически сложилось так,
что первоначальная концепция универсального стандарта описания
документов и документных связей SGML, оказалась сложна для
широкой реализации. В результате была принята упрощенная версия
концепции, каковую мы наблюдаем как HTML. XML представляет
собой развитие первоначальной более совершенной нежели HTML
концепции. Так, что подобное название, по-своему, адекватно.
Впрочем, к чему абстракции?! XML ныне широко и активно используется
так, что имеет смысл говорить о нем, как о технологии свершившейся.
Я бы обозначил XML как комплекс стандартов международного
консорциума W3C, объединенных определенным языковым синтаксисом.
По сути, речь о тегах подобных HTML, одиночных и контейнерных.
Вся прелесть в том, что эти теги могут назначаться разработчиком
структуры электронных документов. Собственно эта идеи и лежит
в основе столь стремительного роста числа XML-базированных
стандартов. Унификация определений синтаксиса для различного
рода XML-документов, достигается за счет технологий XML Information
Set (InfoSet) и XML Namespaces. Первая технология реализуется
ссылкой в заголовке XML-документа на соответствующий набор
информационных элементов XML, вторая ссылкой на согласованное
пространство имен XML.
|

Также в XML-документах может присутствовать
DTD заголовок, описывающий структуру документа. Впрочем,
на смену DTD пришла технология XML Schema и в частности
Relax NG. Подобный формат описание близок специалистам,
привыкшим моделировать бизнес процессы в CASE- инструментарии
на UML (универсальном языке моделирования).
Итак, данные любого рода можно представить
в заданной структуре с помощью синтаксиса XML. Что дальше?!
Эти данные можно транспортировать из приложения в приложение.
XML благодаря своей универсальности послужит замечательным
протоколом. Можно даже организовать удаленный вызов процедур
с помощью XML инструкций. В этом помогут стандарты SOAP
и XML RPC, а также язык описания программных интерфейсов
для взаимодействия различных веб-сервисов WSDL. Есть возможность
взаимодействия с базами данных посредством XML-ориентированного
языка запросов xQuery. Однако, располагая данными, невольно
задумываешься об их представлении. Технология XSLT – расширяемого
языка стилей, включающего форматные преобразования, позволяет
разделение данных и их представления. Для представления
данных достаточно сослаться на XSLT-шаблон представления
документа в XML-файле. В отличии от каскадных таблиц стилей
(CSS), XSLT позволяет богатые функциональные возможности
представления данных, включая фильтры, сортировки, условия
и циклы. Имеется также и технология графического представления
данных SVG (язык масштабируемой векторной графики). При
обращении к SVG-файлу возникает ощущение, что загружена
SWF-страница (Macromedia Flash), однако реально, это результат
исполнения XML-инструкций. Расширенны также и возможности
форм запросов данных, что описано в стандарте xForms.
Мы располагаем богатыми возможностями определения
данных, хранения, транспортировки и представления. Чего
же не хватает для целостной картины, скажем, о привычном
нам веб-сайте?! Не хватает функциональных возможностей.
XML содержит ряд замечательных взаимосвязанных структурообразующих
технологий, способных обеспечить беспрецедентные функциональные
возможности. Это xLink, xPointer, xPath, xIncludes, xFragment.
xLink способен обеспечить непосредственные, множественные,
семантические, ролевые и прочие связи между документами.
В связке xLink с xPointer и xFragment появляется возможность
задания связей между фрагментами документов, вплоть до редактирования
фрагмента удаленного документа. xPath позволяет организовать
модульность документа, где от модуля к модулю можно обращаться
с помощью xPointer. xInclude позволяет включать в документ
сторонние документы. В XML остается возможность задания
интерактивности с помощью Java/Java-script. Здесь очень
кстати вспомогательные стандарты DOM (объектная модель документа),
SAX (простой API для XML), и с не давних пор XOM (объектная
модель XML). Существуют также и XML-рекомендации по созданию
общедоступных сайтов (WCAG) и по принципам авторской разработки
удобных инструментов (ATAG). Имеется также и XML- ориентированный
язык описания программных интерфейсов XUL, пока не нашедший
широкого применения.
|
|