Испытания языка разметки нового поколения

Многие компании, беззаветно бросающиеся в пучину Web, обнаруживают, что развернуть большой Web-узел так же трудно, как и разработать сложное приложение, и что язык HTML не соответствует поставленной задаче. Это все равно что пытаться разработать ОС на Бейсике.

Язык Extensible Markup Language (XML), является ответом консорциума World Wide Web Consortium на ограничения HTML. Это необыкновенно гибкий язык, который позволит организациям создавать более сложные документы и обмениваться сложными данными через Web.

Спецификация XML была обнародована на Sixth International World Wide Web Conference (Шестой международной конференции по WWW), проходившей в начале апреля в Санта-Кларе (шт. Калифорния). Некоторые поставщики ПО, включая корпорации Microsoft и Netscape Communications, уже заявили о поддержке нового языка.

Что такое XML?

XML  -  это упрощенная версия языка SGML (Standard Generalized Markup Language  -  стандартный обобщенный язык разметки). Для того чтобы понять, что такое XML и для решения каких задач он подходит, необходимо понять, что такое SGML.

SGML  -  международный стандарт, предшествовавший Web,  -  фактически является метаязыком, т. е. предназначен для описания языков разметки, применяемых при создании документов.

Например, язык гипертекстовой разметки HTML может быть описан при помощи SGML. Для того чтобы использовать редактор SGML при создании Web-страниц, автор в первую очередь должен передать редактору описание HTML. Это описание (на SGML) называется DTD (Document Type Description  -  описание типа документа).

SGML также дает возможность организациям обмениваться данными. Например, производитель запасных частей для автомобилей может использовать SGML для создания специализированного языка описания выпускаемых деталей. Новый язык может включать теги <make>, <model> и <year>.

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

Теоретически мы могли бы использовать SGML-браузеры для работы в Web. Это обеспечило бы Web-авторам потрясающую гибкость. Если в HTML не содержится возможностей, необходимых для работы с заданным классом документов, автор мог бы создавать расширения к HTML и прикреплять DTD к своим документам.

Но Web-браузеры не предназначены для этого просто потому, что SGML слишком сложен. Написать DTD очень трудно, так же как и написать приложения, которые бы аккуратно расшифровывали его. Другими словами, сложность полной реализации SGML перевешивает преимущества от его использования.

Спасение в XML

XML был создан как компромисс между простотой HTML и гибкостью SGML. Как и SGML, это  -  метаязык, но он легче в применении и позволяет создавать более простые DTD.

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

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

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

XML поможет организациям облегчить обмен информацией между различными приложениями. Например, Chemical Markup Language (язык разметки документов по химии) совместим с XML и содержит специальные расширения для описания структуры молекул и состава смесей. Используя DTD для этого языка, разработчик может создать фильтр для импорта данных с Web-страницы в приложение, осуществляющее моделирование химических реакций.

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

Кроме того, XML облегчит разработку и развертывание интеллектуальных агентов. На сегодняшний день для нахождения необходимой информации на Web-страницах в подобном ПО необходимо использовать многочисленные циклы. В случае XML сходные данные могут быть помечены своими собственными тегами (такими, как, например, <price>), и их будет легко найти.

Наконец? XML включает в себя такие гипертекстовые возможности, которые пока в Web отсутствуют. Например, можно будет использовать двунаправленные ссылки; ссылки, нечувствительные к точному адресу документа (location-independent), а также функцию transclusion (когда документ, на который установлена ссылка, отображается как часть текущей страницы).

Дополнительную информацию о XML можно получить на Web-узле W3C по адресу: http://www.w3.org/pub/WWW/ MarkUp/SGML/Activity.

Имонн Салливан (PC Week Labs)