Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Комета по&nb p;имени XML

 

Комета по&nb p;имени XML

 

 

Многие говорят, что появление языка XML дало толчок новому витку эволюции всей программной индустрии. Может, это и верно – множество программных продуктов были быстренько переписаны, дописаны или обзавелись новыми модулями для поддержки новомодной технологии. Правда, пока еще, кажется, нет значка типа «XML compatible». Так что же принесла в наш мир комета по имени XML? Хотя языков на основе XML создано великое множество, они используются во многих, если не во всех отраслях, все их можно условно разделить на некоторые классы.

загрузка...

 

 

Это поможет понять, где можно использовать XML, а где нет (но если очень хочется, то можно).

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

Данные XML можно преобразовать в любой форматПреобразование данных. С помощью XML задаются правила, по которым данные из одного формата (не обязательно текстового) преобразуются в другой. Самым известным и применяемым языком этого типа есть XSL (XSLT). XSLT-схемы позволяют трансформировать документ XML в любой другой формат – будь то HTML, WML, plain text, RTF. На практике чаще всего применяется преобразование в HTML или WML. Преобразование в бинарные форматы требует специальной поддержки со стороны XSL-процессора. В настоящее время известны разработки преобразователя XML-RTF, RTF-XML, XML-PDF, XML-QuarkXPress (это открывает поистине безграничные перспективы перед издательствами). Ознакомиться со списком доступного программного обеспечения для преобразования XML-документов можно на сайте XML Software, в разделе XSL formatters.

Описания структуры данных (семантики). Для определения, является тот или иной документ корректным, надо иметь описание структуры данных. Необходимо указать парсеру, какой тег какие данные может содержать, и как разные теги могут совмещаться в одном документеили узле. Это достаточно важная область применения XML, поскольку без определения документ – это просто произвольный текст, по которому парсер может лишь построить дерево документа, а программа должна сама заботиться о значении и типе каждого узла. Наиболее известными являются стандарты DTD и новый стандарт Xschema. Семантику документа описывают такие стандарты, как RDF, XMI и некоторые другие.

XML широко применяется в базах данныхОбработка данных (хранение, поиск). Уже почти все производители широко распространенных баз данных объявили о поддержке в своих продуктах XML. Некоторые компании (например, IBM) приступили к созданию баз данных, полностью базирующихся на XML. Это вполне логично, поскольку в базе хранятся данные, а XML как раз предназначен для хранения разнородных данных. Вопрос, как производить поиск в таких базах, тоже недолго оставался открытым. Претендентов на замену SQL нашлось сразу несколько, но пока никто не стал общепризнанным стандартом. Поиски оптимального языка запросов к XML-базам данных (по сути, это может быть или один большой документ, или множество связанных документов) продолжаются и сейчас. Отметим лишь, что наиболее удачными оказались разработки XQL, Quilt, SQLXML и Xquery. Последняя имеет статус public W3C Working Draft, а в ее становлении принимали участие такие компании, как IBM, AT&T и Software AG. Весьма вероятно, что это единственный претендент на всеобщий стандарт.

Но основное предназначение XML – разметка структуры данных. Причем тут можно выделить два направления – разметка данных для их восприятия человеком (визуальная), и представление данных для обмена между программами (невизуальная). К невизуальной разметке относятся стандарты, которые описывают служебные данные (SMIL, SOAP, XML-RPC, XAR и другие). Эти стандарты предназначены для стандартизации и формализации обмена разнородной информацией между различными платформами или для передачи служебных данных между программами. Наиболее интересным применением является описание данных, предназначенных для вывода на дисплей или другое устройство взаимодействия с пользователем. Эти форматы можно разделить на текстовые (предназначенные для хранения текстовой информации), графические (для графической информации, хоть и описанной в виде текста) и комбинированные. Наиболее известные форматы для представления текста – WML, DocML, DocBook, Open eBook, FuctionBook. Частным случаем, который стоит где-то посредине между графическими данными и текстом, являются языки, которые описывают специальные символы — например, MathML для математических символов, CML (Chemical Markup Language) для химических формул. Графические данные описываются языками SVG (Scalable Vector Graphics) — для векторной графики, X3D — для трехмерных моделей, и VML (Vector Markup Language).

Также с помощью XML описываются данные, которые могут быть использованы как для представлению их человеку (выводу на экран), так и для обработки программами. Например: MusicML для описания нот, Geography Markup Language (GML) для описания географических карт и другие.

В своей основе язык XML является чисто описательным, предназначенным для формального определения структуры данных. Множество раз мне приходилось слышать фразы типа «программа на XML» или что-то в этом роде. Мне всегда казалось, что это неправильно, так как XML ближе к HTML, SGML, а не к традиционным языкам программирования, пусть даже и к скриптовым. И приставка ML переводится как «язык разметки»... Но! Как программисты среагируют на язык, совмещающий XML и программирование – названный, конечно, XML Script?

Сравните:

Язык разработал Michael Houghton довольно давно (по меркам XML) – в 2000 году. Текущая версия стандарта – 0.22.

Создать свой язык на основе XML очень просто...Теперь создать свой язык с приставкой ML стало не просто, а очень просто. Поскольку спецификация языка лишь указывает, как нужно писать теги, и как их обрабатывают парсеры или процессоры, а сама семантика остается на усмотрение автора конкретного языка, то формально любой правильно оформленный (well formatted) XML-документ является новым языком. Что означают конкретные теги, в каждом случае надо решать отдельно – общим у всех документов является только то, что они одинаково обрабатываются парсером, а дальше приложение само должно решить, что ему делать с данными.

Для создания нового языка надо сделать как минимум три шага:

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

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

... но часто этого не надо делать — все уже изобретеноНо часто велосипед изобретать вовсе не нужно. В большинстве случаев ситуация такова, что необходимый стандарт уже кто-то придумал, а если нет чего-то именно для вашей конкретной задачи, то стоит обратить внимание на более общие стандарты в той или иной области – XML и все производные стандарты очень универсальны и могут удовлетворить запросы не только той сферы, для которой созданы, но и смежных. Надо только поискать и разобраться. Специально для этого я попробовал составить некую карту языков XML. Полная версия схемы доступна в виде файла MS Word по этому адресу: /redir.php?url=www.open-hill.com%2Fbig_sheme.doc%3C%2Fa%3E. На рисунке ниже приведен фрагмент схемы, отображающий некоторые XML-стандарты для описания данных, которые применяются или потенциально могут применяться на веб-сайтах. Это может быть как внутренний формат хранения данных, который по запросу посетителя конвертируется в любой другой, или, если браузер пользователя поддерживает стандарт, основной формат для предоставления информации. Конечно, схема далеко не полная и постоянно обновляется, но с ее помощью вы можете примерно очертить круг поисков.

Например, для музыкального сайта не обязательно придумывать формат для хранения нот и текстов песен – для этого уже разработан специальный стандарт MusicML.

Сегодня существует больше 200 XML-based языковНа сегодняшний день в мире насчитывается около 200 различных языков на основе XML. Сюда входят как уже ставшие стандартами Xpath, FpML, WML, так и экспериментальные разработки, часто разрабатываемые одним человеком – KML (Knowledge Markup Language), GameML, ChessGML (для компьютерных игр, например, для шахмат). В каких же областях сейчас используется XML? На рисунке представлена краткая классификация областей индустрии, где успешно применяется XML.

XML широко применяется в электронной коммерцииВ бизнес-сфере XML-технологии развиваются очень бурно. Язык здесь используется для задания авторских прав на произведения (аудио, видео, текст, графика). Наиболее законченный вид имеет eXtensible Media Commerce Language (XMCL), больше ориентированный на аудио/видеоданные. Перспективными также являются XML Access Control Language (XACL), позволяющий распределять права доступа к отдельным элементам структуры документа (похоже на разграничение доступа в системе UNIX) и Digital Property Rights Language (DPRL). Повальное увлечение электронной коммерцией привело к созданию серии стандартов для e-commerce. На первом месте по известности тут стоит СommerceML для обмена коммерческой информацией между различными субъектами рынка, ebXML применяется для электронного бизнеса и торговли (крупные игроки, например, Sun, Microsoft и другие считают XML, UDDI, SOAP и ebXML краеугольными камнями всего электронного бизнеса), потом идут такие сравнительно новые разработки, как FpML (Financial Products Markup Language) для разметки финансовых продуктов и интеграции различных финансовых услуг в сфере e-commerce, Open Financial Exchange (интересно, что сначала стандарт был ориентирован на SGML, но потом переписан на XML, он даже старше всех других стандартов, включая сам XML), ориентированный на операции со счетами. Следует отметить и новый язык XBRL (или XFRML, Extensible Business Reporting Language) – расширенный язык бизнес-отчетности. Он предназначен для унификации публикаций финансовой отчетности для компаний различных сфер деятельности.

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

Для создания распределенных приложений у разработчика есть выбор между протоколом SOAP (Simple Object Access Protocol), сверхпростым XML-RPC и загадочном PI-RPC (Platform independed RPC) о котором я сумел разыскать лишь одну статью без рисунков.

При разработке систем искусственного интеллекта, которые взаимодействуют с пользователем для создания формальной модели человека, используется язык Human Markup Language (HumanML). При создании робототехнических систем применяется язык Robotic Markup Language (RoboML). А если вы создаете интернет-приложения, которые функционируют как распределенные агенты, то можете использовать разработку DARPA Agent Markup Language (DAML) для упрощения взаимодействия агентов. Для создания инфраструктуры ASP (Application Service Provider) применяется ITML (Information Technology Markup Language). Написание различных руководств и инструкций станет легче благодаря языку TML (Tutorial Markup Language). Теперь даже внешний вид приложения можно описывать с помощью XML – впервые этот подход применили разработчики браузера Mozilla. Созданный ими язык XUL (XML-based User Interface Language) позволяет определить внешний вид всех элементов интерфейса и гибко менять все параметры – пользователям теперь очень легко настроить облик приложения под себя. Подобный подход применен и в Microsoft Windows XP.

XML — не панацея, с ним есть свои трудности!Но неужели все так радужно, и проблем нет? Помните те времена, когда практически единственным средством для хранения данных был простой текстовый файл? Потом, после взрывного возрастания количества компьютеров и программ, каждое приложение стало обзаводиться своим специфическим форматом, причем закрытым двоичным. Ситуация породила множество утилит, некоторые из которых стоят вполне солидных денег, а единственным их предназначением является преобразование информации из файла типа А в файл типа Б. И теперь все снова возвращается к простому тексту, ведь XML-документ – это просто текст и ничего более.

Никто не спорит, что XML – очень нужная и полезная технология. Но вот решать, надо или не надо каждый конкретный продукт ориентировать на XML, следует в каждом случае отдельно, чтобы за стремлением следовать моде не страдала функциональность и надежность. Ведь неспроста Счетная палата Конгресса США и Федеральный совет специалистов по информационным технологиям предупреждают разработчиков, сотрудничающих с госструктурами, не торопиться с использованием языка XML — это касается использования новой технологии для создания электронных представительств правительственных учреждений.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Комета по&nb p;имени XML":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

PHP5: как работать с&nb p;XML через SimpleXML

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

» Интересное в сети - 2356 - читать


Приходит время XML

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

» Интересное в сети - 1444 - читать


Создание документа XML

Хранить информацию, представленную на вашем сайте, можно разными способами. Самый простой — это просто сверстать html-документы, поставив контент в дизайн. Если информация хорошо структурирована, то можно воспользоваться каким-либо сервером баз данных, извлекая информацию из базы по мере необходимости.

» Интересное в сети - 1938 - читать


Введение в&nb p;XML-RPC

В Сети существует много разных ресурсов, которые предоставляют пользователям определенную информацию. Имеются в виду не обычные статические страницы, а, к примеру, данные, извлекаемые из базы данных или архивов. Это может быть архив финансовых данных (курсы валют, данные котировок ценных бумаг), данные о погоде, или же более объемная информация — новости, статьи, сообщения из форумов.

» Интересное в сети - 1330 - читать


XML под&nb p;маской HTML

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

» Интересное в сети - 1428 - читать



Статья на тему Интернет » Интересное в сети » Комета по&nb p;имени XML

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru