Архивы: по дате | по разделам | по авторам

Размечаем документы. Часть последняя

АрхивСетевое окружение (архив)
автор : Александр Печерский   18.11.2000

XML как база: применение на стороне сервера и создание новых языков

<<Вторая часть

XML на сервере

XML может использоваться в качестве альтернативного HTML способа обмена информацией между сервером и клиентом, даже если браузер не поддерживает ни спецификаций XML-XSL, ни сценариев Java Script. Обработкой XML-ресурсов в таком случае может заниматься серверная сторона. Используя любой существующий обработчик XML-документов(сегодня существует довольно богатый выбор XML API для Java, Perl, C++, Python, VB, Tcl и т. д.), можно формировать необходимую информацию уже на сервере и посылать клиенту нормальную HTML-страницу. Вот пример программы на ASP, использующей стилевые таблицы для формирования готовой HTML-страницы и отправки ее клиенту:

<%@ LANGUAGE = JScript %>
<%
var xmlFile = Server.MapPath("seminar.xml");
var xslFile = Server.MapPath("seminar.xsl");
// Загрузка XML-документа
var source = Server.CreateObject("Microsoft.XMLDOM");
source.async = false;
source.load(sourceFile);
// Загрузка the XSL-таблиц
var style = Server.CreateObject("Microsoft.XMLDOM");
style.async = false;
style.load(styleFile);
Response.Write(source.transformNode(style));
%>

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

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

  • для "интеллектуального" предоставления информации клиенту, "дозируя" ее объем в соответствии с возможностями и потребностями клиента;- в качестве универсального способа описания ресурсов в Сети (языки метаданных);
  • в качестве единого формата передачи данных в сложных информационных системах и универсального промежуточного формата между сервером приложений и базой данных в трехзвенных клиент-серверных моделях;
  • в обычных приложениях для организации временной или служебной информации (например, вместо использующихся сейчас log-файлов, файлов конфигурации, установки и др.).

В настоящий момент в специально созданной рабочей группе по развитию стандарта XML (XML Coordination Group) находится на рассмотрении целый ряд новых предложений, связанных с технологией XML. В первую очередь это касается новых языков разметки, расширяемых стилевых таблиц, новых механизмов гиперссылок, универсальных языков запросов к базам данных. Их появление способно сильно изменить существующие ныне способы организации информации в Интернете, и в будущем многие из них должны стать частью стандарта XML. Но несмотря на то, что процесс стандартизации XML-технологий полностью еще не завершен и в будущем возможно появление новых рекомендаций, уже сегодня существует достаточно широкий выбор программного обеспечения, необходимого для создания и анализа XML-документов. Практически полную поддержку всех разрабатываемых стандартов W3C обеспечивает браузер Amaya, предлагаемый консорциумом специально для тестовых целей. Из наиболее популярных средств просмотра и создания информации в Web можно назвать Microsoft Office 2000 и программу просмотра Microsoft Internet Explorer 5, первый браузер, поддерживающий спецификацию XML 1.0 и стилевые таблицы XSL. Поддержка XML также планировалась и в Netscape Navigator, однако на момент написания статьи протестировать должным образом шестую версию Навигатора не представилось возможным. С появлением этих новых универсальных средств просмотра Web-документов можно говорить о возможности использования XML в "свободном пространстве" WWW без каких-либо ограничений.

Современные языки разметки

Появление XML вызвало всплеск активности среди разработчиков современных систем разметки документов. В последнее время появилось большое количество новых языков, многие из которых находятся сейчас на рассмотрении в W3C и в будущем, возможно, найдут широкое применение в Web. Вот некоторые из них.

А - Языки описания информационных ресурсов Сети (языки описания метаданных).

Долгое время информационное наполнение WWW строилось главным образом с расчетом на ее потребителя-человека. Сейчас при создании HTML-страницы автор описывает форматирование ее текста, но практически не указывает служебной информации, описывающей данный ресурс в удобной для машины, то есть структурированной форме. Однако в наши дни такой бессистемный подход привел к серьезным трудностям при разработке поисковых машин, рейтинговых систем, автоматических каталогизаторов. Долгое время информационное наполнение WWW строилось главным образом с расчетом на ее потребителя-человека. Сейчас при создании HTML-страницы автор описывает форматирование ее текста, но практически не указывает служебной информации, описывающей данный ресурс в удобной для машины, то есть структурированной форме. Однако в наши дни такой бессистемный подход привел к серьезным трудностям при разработке поисковых машин, рейтинговых систем, автоматических каталогизаторов. Одной из попыток создания удобного механизма для организации таких систем стало появление целого ряда специализированных языков разметки "информации об информации" - метаданных. Совсем недавно консорциумом W3 была утверждена рекомендация по универсальному языку описания ресурсов (Resource Description Framework - RDF). Для этих же целей были созданы в свое время спецификации MCF (Meta Content Framework), PICS (Platform for Internet Content Selection), XMI (Metadata Interchange Format), P3P (Platform for Privacy Preferences) и ряд других.

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

Б - Языки, используемые в технологии принудительной доставки информации (push-каналы).

Документы, описывающие рассылаемые ресурсы и расписание их доставки, используют основанный на XML-формате язык CDF (Channel Definition Formvat), предложенный Microsoft. Вообще, надо сказать, что популярность такого способа предоставления информации в последнее время несколько снизилась (еще год назад о push-технологии говорили как о революции в Интернете), однако поддержкой XML в браузере Internet Explorer мы обязаны именно каналам рассылки, для работы с которыми использовался XML-обработчик MSXML.

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

Самым популярным из них на сегодняшний день является язык описания математических формул Mathematical Markup Language (MathML).

Проблема, связанная с отображением специальных видов документов, заключается в их "нелинейности" и неоднозначности представления. Во-первых, математический смысл формулы зачастую определяется не формальным способом ее записи, а зависит от контекста использования. Примером этому могут служить дроби, обозначения дифференциалов и т. д. Во-вторых, текстовое представление формулы многомерно - примером сложных текстовых структур могут служить "многоэтажные" дроби, интегралы, корни, степени. Включение таких элементов в упорядоченный текстовый поток всегда сопряжено с многочисленными трудностями. На сегодняшний день одним из самых распространенных способов их отображения являются рисунки, созданные в специальных графических редакторах. Однако этот способ мало пригоден для развитых систем обмена научной информацией: создание специализированных документов подобным образом весьма трудоемкий и медленный процесс. Кроме того, при использовании графических изображений возникает еще одна проблема - невозможности форматирования одновременно текстового и графического содержимого документа. Несовпадение разрешений картинки и текста, жестко заданные размеры области изображений не позволяют определять нужную последовательность объектов документа и способ их отображения.

Поэтому в 1995 году консорциум W3 образовал рабочую группу по созданию стандарта языка разметки математических выражений, предназначенного для использования в Web. В 1997 году этой группой был подготовлен первый рабочий вариант, и в настоящий момент W3C предложил MathML в качестве рекомендации.

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

Более подробную информацию по этому языку можно найти по адресу www.w3.org/TR/1998/REC-MathML-19980407.

Г - Язык описания документов, содержащих мультимедийную информацию. Язык SMIL (Synchronized Multimedia Integration Language) - это рекомендованный консорциумом W3 механизм создания документов, содержащих синхронизированную мультимедийную информацию. Такие документы называются SMIL-презентациями и представляют собой набор инструкций, описывающих текстовые, видео- и аудиоданные и определяющих последовательность их воспроизведения. Главной сферой применения SMIL в наше время может являться сетевое телевидение, видео, дистанционное образование. Фрагменты SMIL-презентаций могут включаться в обычные HTML-странички и воспроизводиться либо специально предназначенными для этого программами просмотра, либо модулями расширения браузеров (plug in).Спецификация SMIL находится по адресу: www.w3.org/TR/1998/REC-smil-19980615.

Д - Электронная коммерция.

Для организации обмена финансовой информацией в Сети в настоящий момент предложено несколько форматов. Главная их особенность - уделяемое при их создании особое внимание вопросам защиты данных и безопасности. Наиболее известными сегодня являются следующие спецификации:

  • Open Trading Protocol (OTP) - универсальный протокол для организации систем электронных платежей в Интернете, поддерживающий сегодня такие известные системы, как CyberCash, DigiCash, GeldKarte и др.;
  • Financial Exchange (IFX) - язык разметки, позволяющий унифицировать процесс обмена финансовой информацией между сетями различной архитектуры;
  • Open Financial Exchange (OFX), предложенная еще в 1997 году компаниями CheckFree, Intuit и Microsoft спецификация, предназначенная для управления выполнением самых различных финансовых операций в Сети для клиентов самого разного уровня;
  • Micropayment Markup - стандарт, создаваемый с целью автоматизации процесса электронных платежей из Web-страницы клиента за счет внедрения необходимой для этого информации непосредственно в Web-страницу и уменьшения тем самым затрат на передачу такого рода информации;
  • Signed Document Markup Language (SDML) - находящаяся на рассмотрении в W3C спецификация языка, разработанного организацией Financial Services Technology Consortium (FSTC) в рамках Electronic Check Project - проекта автоматизации платежей по электронным чековым книжкам.

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

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.