Xml возможности и перспективы

Содержание

Xml: возможности и перспективы

Зачем нужен XML

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

HTML изначально обеспечивал стандарт, позволивший легко создавать Web-страницы на базе одной платформы, размещенной на сервере, а просматривать — на различных платформах. HTML, форматы файлов изображений GIF, а затем JPEG создали возможность взаимного обмена документами и графической информацией, а также обеспечили функциональную совместимость между различными операционными системами, браузерами и компьютерами. Несмотря на всю его славу и простоту использования (как в мире разработки, так и в мире пользовательских интерфейсов), HTML хотя и необходим для отображения информации, но обладает, относительно недостаточными возможностями по представлению структурированных данных. Кроме того, в HTML почти отсутствует механизм удаленного управления данными. Все что обеспечивает HTML, это визуальный уровень, предоставляющий пользователю возможность доступа к тексту и изображениям, а также навигацию в одном направлении к другому документу, содержащему текст или изображения.

HTML не обеспечивает никаких стандартов на ту часть коммуникационного уровня Internet, которая занимается визуальным представлением информации. Предположим, вы хотите найти сайт. Поскольку стандартов на интеллектуальный поиск информации в настоящее время нет, то вы будете рады любой технологии, предложенной разработчиком сайта. Также нет стандарта для обмена данными. Вы можете использовать протокол передачи файлов (File Transfer Protocol, FTP) для пересылки данных. Но поступая так, вы не только выходите за пределы владений Web, но и ограничиваетесь лишь единственным направлением, в котором будет осуществлена пересылка данных. Настоящий обмен данных должен быть двухсторонним, позволяя осуществлять пересылку в Web. Такие продукты, как NetMeeting или Virtual Private Network фирмы Microsoft могут использовать Internet для обмена данными, но при этом в них применяются собственные, частные протоколы и методы обмена данными.

Другая грустная реальность HTML и Web заключается в малых возможностях персонализации. Механизм cookies в HTTP обеспечивает некоторый, хотя и ограниченный, уровень персонализации при просмотре сайта посетителем. Такие сайты Microsoft, как Investor или Expedia, делают в этом смысле шаг вперед, предоставляя возможность обмена данными между пользовательским персональным компьютером и сайтом. Например, сайт Investor обменивается данными с популярной программой персонального финансового управления Quiken для записи, отслеживания и отображения информации портфеля (portfolio information), но он не выполняет эти действия стандартными методами. Посетитель должен просматривать информацию при помощи Internet Explorer, работающий под управлением Windows, а это означает, что протоколы, программы и методы шифрования привязаны к определенной операционной системе и браузеру.

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

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

Например, в страховых компаниях это следующая информация о клиентах:

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

Вы уже встречались с чем-то подобным в Web и, вероятно, думаете: «почему это HTML не может управлять обменом такого рода данных?» Да, обмен такими данными происходит, однако не HTML управляет всем этим. Он лишь отображает результаты поиска или формы, которые должны отсылаться удаленному скрипту стандартного интерфейса шлюза (Common Gateway Interface, CGI) или базе данных. На некоторых сайтах для интерфейса с базами данных Access, вероятно, используют Cold Fusion, на других, — возможно, Perl. Но главное, что нет единого стандарта, и HTML сам по себе не в силах выполнить ни одного из перечисленных пунктов.

Web нуждается в языке, подобном HTML, который бы обеспечивал стандартный способ обмена данными. Этот язык должен быть достаточно гибким, чтобы пользователи могли создавать, собственные описания документов, независимо от того, отправляется ли информация об электронных платежах, или же стандартные поисковые запросы. XML является самым последним созданным языком разметки в Web, предназначенным для обмена данными. Этот новый язык разметки основан на спецификации, намеченной консорциумом W3C — организацией стандартов Web, выполнение которой реализуют и Microsoft и Netscape. Стандарт XML был создан на основе обобщения предложений Microsoft, ArborText, Netscape и других.

XML сегодня

XML начал вызывать огромный интерес и поддержку с того момента, как о нем было впервые заявлено в 1996 году. Он обеспечивает стандартный способ кодирования содержания, обеспечивая гибкий способ создания структур данных. В XML для разметки содержания на основе правил, составляемых разработчиком документа, используются теги. Этот набор правил называется описанием типа документа (Document Type Definition, DTD), и он позволяет разработчикам, применяющим XML, размечать различные документы. Например:

  • Стандартные документы, которые могут содержать текст и ссылки на графические изображения и внешние ресурсы.
  • Более структурированные документы или записи, такие как формы HTML, со структурой, реально закодированной непосредственно в документе. К этой категории можно отнести заказ покупки, медицинское назначение или адресную книгу, либо другие документы.
  • Объект, содержащий данные и методы, например, объект Java или элемент ActiveX.
  • Записи баз данных, которые могут быть представлены на Web-странице, на основе запросов пользователей к поисковым средствам баз данных.
  • Содержание канала Internet Explorer.
  • Что-либо, обеспечивающее обмен данными между компьютерами, между компьютерами и людьми, либо другими типами машин, применяемых для обработки данных.

Сейчас документы всех этих типов можно создавать при помощи XML, для отображения содержания применяя HTML и Dynamic HTML (DHTML). XML также позволяет переназначать, переопределять и отображать содержание из одного источника при помощи других механизмов отображения. Например, хранить единую базу данных на сервере и отображать выделенные данные на нескольких разных устройствах.

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

Ресторан обслуживает тех, кто берет еду в дорогу, а также тех, кто делает заказы с доставкой. Они получают информацию о самых дешевых предложениях и остальной части меню на сайте ресторана. Некоторые ваши клиенты любят подписываться на канал Daily Specials, установленный при помощи инструмента Channels в Internet Explorer, а это значит, что ваша база с данными меню будет очень интенсивно использоваться. Эта база данных служит также для управления запасами. Когда кто-то заказал мясо, и повар вычеркнул исполненный заказ, поскольку блюдо приготовлено и оставлено, тотчас же будут откорректированы данные по запасам. Применение дополнительных инструментов автоматизации позволит автоматически формировать заказ поставщикам, когда запасы начнут иссякать.

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

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

<MEAL><ENTREE>Chicken Cordon Bleu</ENTREE></MEAL>

Здесь: Meal — еда, Entree — основное блюдо за обедом, Chicken Cordon Bleu — цыпленок «кордон бле».

Здесь тег &ltENTREE&gt служит не столько для того, чтобы отделить информацию об основном блюде от всей записи о еде, а скорее чтобы указать на то, что это не только часть еды, но основная часть заказанного обеда. Если управляющий захочет посмотреть полный список еды, которая была заказана, он сможет это сделать. Поскольку есть люди, которые довольствуются только десертом, он может также вместо списка еды просмотреть информацию об основных блюдах. Клиенты могут сами осуществлять поиск в базе данных, чтобы узнать, например, как часто заказывали «кордон бле», и если эти заказы были удовлетворены, то прочитать комментарии об этом блюде.

Этот пример подходит для индустрии продуктов и напитков, но что если пользователь хочет применить XML для описания и отслеживания медицинских данных, например, назначений? Поскольку XML позволяет создавать собственные элементы, отвечающие конкретным нуждам, то вполне можно определить элементы, представляющие такие понятия, как дозировка, общие названия лекарств, имена докторов и пациентов и т. д. XML позволяет создавать документы, содержащие термины и определения, в соответствии с конкретными пожеланиями пользователей. Спецификации, которые применяются для описания документов, можно помещать в описание типа документа (Document Type Definition, DTD) — отдельный документ, устанавливающий структуру XML-документа. DTD можно поместить непосредственно в сам документ.

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

Понятие XML/EDI

Введение в EDI

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

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

Американской фирмой IMC (International Marketing Company) были проведены исследования по изучению бумажных потоков подготовки и оформления документов участников международной торговли. В результате исследования оказалось, что в общей сложности все участники внешнеэкономической деятельности в рамках одной поставки (партии товаров) оформляют 40 документов-оригиналов и 360 копий.

Можно выделить следующие типы взаимодействия информационных систем:

  • Произвольное взаимодействие между двумя отдельными компьютерами, например по модему. Обязательное участие оператора на принимающей и передающей стороне. Возможен обмен в произвольном, но заранее оговоренном формате;
  • Интерактивное удаленное взаимодействие компьютера с информационной системой, например по протоколу http. Оператор на передающей стороне. Как правило используется определенная форма HTML документа. Принимаемые документы обрабатываются автоматически;
  • Контролируемая потоковая обработка, например прием по e-mail, файл содержащий HTML форму, запуск которой инициирует процесс обработки документа или прием оператором по e-mail электронных документов в оговоренном формате и далее запуск запуск программы обработки. Требует обязательный контроль оператора на принимаемой стороне;
  • Полностью автоматизированный процесс приема и обработки электронных документов в оговоренном формате. Участие операторов не требуется.

Здесь подробее будет сакцентированно внимание на создание и основные принципы организации последнего типа взаимодействия, называемого «Электронным обменом данными» — (Electronic Data Interchange или EDI).

В чем же состоит преимущество систем EDI? Сегодня, большая часть данных, содержащихся в коммерческих документах, генерируется их существующих компьютерных прикладных программ. Типовая схема оформления торговых сделок предполагает следующие действия:

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

По данным исследования IMC внедрение EDI-систем позволяет снизить расходы, связанные с составлением документов до 7-10% от общей стоимости сделки. Мировая практика электронной коммерции, основанной на системах-EDI осуществляется уже более 30 лет и представляет собой определенный стандарт выполнения торговых операций и представление структурированных деловых документов.

Коренное отличие систем EDI от систем электронного документооборота состоит в том, что EDI системы — это межведомственные системы обмена электронныими документами, использующие строго стандартизированные правила составления электронных документов. А система электронного документооборота — это системы, как правило, разрабатываемые в рамках одной кропорации или предприятия, обмен в которых осуществляется по средствам распределенных СУБД типа ORACLE или INFORMIX.

Существует много разных определений EDI, но мы приведем наиболее подходящее для наших целей: «передача между информационными системами электронным способом структурированных сообщений в согласованном стандарте».

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

В настоящее время в системах EDI широко используются около двенадцати стандартов, но наибольшую популярность прибрели два стандарта: UN/EDIFACT и ANSI X-12. Так например, в США оклоло 500 тыс. пользователей EDI обмена в формате UN/EDIFACT, и такое же количество пользователей формата ANSI X-12.

Для упорядочивания разностандартных EDI систем, в 1996 году Экономическим и Социальным советом ООН была выпущена Рекомендация №25 по использованию стандарта EDIFACT, в которой рекомендовано модернизировать существующие EDI-системы в системы, ориентированные на использование UN/EDIFACT, а вновь создоваемые системы изначально строить на основе использования UN/EDIFACT.

Акроним UN/EDIFACT расшифровывается как «Правила ООН эелектронного обмена документами для гос. управления торговли и транспорта» (United Nations rules for Electronic Data Interchange for Administration, Commerce and Transport).

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

В качестве примера можно привести использование стандарта UN/EDIFACT в международных банковских системах обмена информацией SWIFT. Следующие примеры использования электронных документов в стандарте UN/EDIFACT: EDI-система контроля сопровождения груза из стран ЕС до терминала назначения в таможенных органах Российской Федерации.

Государственный таможенный комитет (ГТК РФ) реализует проект взаимодействия с информационной системой МПС (Министерства путей сообщения), где для обмена электронными документами используется стандарт UN/EDIFACT. В ГТК разрабатывается проект обмена электронными документами с информационными системами крупных портов мира стран Балтийского моря с таможней в морском порту Санкт Петербург и портов Тихого океана США (Сиетл и Сан-Франциско) с таможней в морском порта Находка и Владивосток.

В МПС реализован проект взаимодействие EDI-систем Октябрьской железной дороги и Финляндских государственных железных дорог (VR cargo).

Обзор стандарта UN/EDIFACT

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

Например, название и адрес фирмы отправителя встречается как в счете-фактуре, транспортно-сопроводительных документах — CMR, так и в таможенной декларации.

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

Часть справочников (такие как трехзначные коды стран мира, коды валют) использовались до появления стандартов UN/EDIFACT. Эти справочники были пересмотрены и скорректированы с точки зрения использования их в новых стандартах.

В основу стандарта UN/EDIFACT положены следующие принципиальные идеи:

  • Обмен осуществляется сообщениями;
  • Стандартизация по типу используемого документа на уровне сообщений;
  • Сообщение имеет иерархическую структуру и состоит из сегментов;
  • Стандартизация данных на уровне сегментов и элементов данных;
  • Сегменты могут групироваться по некоторому признаку;
  • Незаполненные (пустые) сегменты могут опускаться;
  • Типовые поля записываются в виде кода;
  • Состав и наполнение справочников стандартизуется на трех уровнях — международном, национальном и корпаротивном;
  • Независимость стандартов от языка, используемого для общения.

Группа сегментов кроме типовых сегментов данных может содержать другие группы сегментов.

Сегменты в группе сообщений могут повторяться некоторое количество раз. Также незаполненные (пустые) сегменты могут опускаться.

Стандартом предусмотрено около 200 различных типов сегментов, из которых составляется сообщение.

На рис. 1 Представлен фрагмент структуры сообщения, на котором видно, как объеденены в группу SG. 8 сегменты TDT-LOC и MEA-EQN которые в свою очередь объединены в группу SG.9 В группе, порядок следования сегментов строго упорядочен, но они могут повторяться, например:

Первый раз, в группе SG.9 сегменты MEA-EQN повторяются два раза, второй раз — один. В группе SG.8 — сегменты TDT- LOC повторяются — два раза.

Сегменты данных состоят из элементов данных, которые могут быть простыми (аналогом является поле данных) и составными (обычно 2-3 поля данных).

На конец 1999 года разработано более 170 стандартных сообщений. Стандартом предусмотрено, что каждое сообщение имеет уникальный 6-значный код из заглавных букв, а каждый сегмент данных имеет 3-значныный код из заглавных букв.

По правилам UN/EDIFACT не предусмотрено использование символов перевода строки и возврата каретки, но для наглядности на каждой строчке расположен отдельный сегмент. Ниже, для примера, показано разобранное на сегменты сообщение ORDERS в стандарте UN/EDIFACT.

UNH+000002+ORDERS:D:96A:UN:EAN008′ Заголовок Сообщения
BGM+220+B00002+9′ Номер заказа
DTM+137:19940202:102′ дата отправки сообщения
NAD+BY+++Stadt- und Universitaetsbibliothek Имя и адрес покупателя
:Frankfurt+Bockenheimer Landstr. 134-13 8+Frankfurt++60325′ RFF+API:DE1141110388′ Идентификатор покупателя
NAD+SU+++DREIER’ Наименование поставщика
CUX+2:DEM:9′ Валюта оплаты
LIN+1′ Позиция заказа 1
PIA+5+3772815359:IB’ Идентификатор ISBN заказа
IMD+F+050+. Die «Jahrbuecher fuer wissensc
haftl:iche Kritik»‘
IMD+F+060+. Hegels Berliner Gegenakademie’
IMD+F+065+. Hrsg. von Christoph Jamme’
IMD+F+110+. Stuttgart-Bad Cannstadt’
IMD+F+120+. Frommann-Holzboog’
IMD+F+170+. 1994′
IMD+F+190+. Spekulation und Erfahrung’
IMD+F+191+. Abt. 2′
IMD+F+192+. Untersuchungen’
IMD+F+194+. Bd. 27′
IMD+F+220+. Gewebe’
Подробности описания товара
QTY+21:1′ кол-во копий заказа
PRI+AAE:295:CA’ Цена заказа в Нем. марках
UNS+S’ Разделительный сегмент
CNT+2:1′ Общее кол-во позиций — 1
UNT+25+000002′ Общее кол-во сегментов = 25

Сегменты, составляющие сообщение, начинаются с трехбуквенного имени, например UNA, UNH, BGM, DTM и т.д. Оканчивается сегмент символом окончания сегмента — в данном примере апострофом.

Ниже приведены названия некоторых сегментов:

BGM BEGINNING OF MESSAGE НАЧАЛО СООБЩЕНИЯ
CUX CURRENCIES ВАЛЮТА
DTM DATE/TIME/PERIOD ДАТА/ВРЕМЯ/ПЕРИОД
IDM ITEM DESCRIPTION ОПИСАНИЕ ПУНКТА

Каждый сегмент состоит из элементов данных. В отличие от имени сегмента, имя элементов данных не указывается в сообщении. Элементы данных разделены разделителями которым является символ «плюс». Так, например сегмент NAD+BY+++Stadtund Universitaets bibliothek:Frankfurt+Bockenheimer.Landstr.134 -138+Frankfurt++ 60325′

Состоит из следующих элементов данных:

Первый элемент BY
Четвертый элемент Stadt-und Universitaetsbibliothek:Frankfurt
Пятый элемент Bockenheimer.Landstr.134-138
Шестой элемент Frankfurt
Восьмой элемент 60325

Каждый из элементов данных занимает свое определенное место в сегменте. Если какой-либо из элементов данных не требуется, то для его пропуска повторяют разделитель элементов данных (см. в примере — между первым и четвертым элементом расположено три разделителя). Назначение того или иного элемента данных определяется справочником сегментов EDSD, который входит в набор стандартов UN/EDIFACT.

Элементы данных могут быть простыми и составными, состоящими из компонентов. Для составных элементов данных предусмотрен еще один разделитель — в данном случае «двоеточие». Четвертый элементы данных в вышеприведенном примере, являются составными, части которого разделены символом «:» Последовательность элементов данных в сегменте регламентируется справочником элементов данных и строго определена.

Основы XML и объектная модель представления данных

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

В начале февраля 1998 г международная организация W3C утвердила спецификацию «Extensible Markup Language(XML) 1.0». Уже сегодня появляются новые языки, созданные на основе XML. Возникают многочисленные Web-сервера, использующие и технологию XML для организации хранящейся на них информации.

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

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

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

  • Разработка сложных информационных систем, с большим количеством приложений, связанных потоками информации самой различной структуры. XML — документы выполняют роль универсального формата для обмена информацией между отдельными компонентами большой программы.
  • XML является базовым стандартом для нового языка описания ресурсов, RDF, позволяющего упростить многие проблемы в Web, связанные с поиском нужной информации, обеспечением контроля за содержимым сетевых ресурсов, создания электронных библиотек и т.д.
  • XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.
  • XML позволяет описывать данные произвольного типа и используется для представления специализированной информации.
  • XML может служить мощным дополнением к HTML для распространения в Web «нестандартной» структуированой информации
  • XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах при поиске информации в удаленных базах данных. Сегодня на рассмотрение W3C предложена спецификация нового языка запросов к базам данных XQL.
  • Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям. Разрабатываемые спецификации XLink и Xpointer позволятют ссылаться на отдельные элементы документа, c учетом их вложенности и значений атрибутов.
  • Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов и фильтрацию данных.

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

Исторически сложилось таким образом, что в системах для обозначения этих команд использовались символы » «, внутри которых помещались названия инструкций и их параметры. Сейчас такой способ обозначения тэгов является стандартным.

Например, для создания элемента Ivanov в имене заказчика используется тэг . В программе это выглядит следующим образом:

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

Можно создать массив заказчиков, определив тег :

Из приведенного примера видно, что XML — документы подлежат четкой структуризации и имеют четкую иерархическую структуру следования элементов. Элементы имеют своих родителей — корневые элементы и наследников — дочерние элементы.

Документ XML состоит из элементов. Элемент — это структурная единица XML- документа. Заключая данные об имени заказчика в тэги , XML-процессор определит как элемент. Содержимым элемента CustumerName является значение. В нашем примере имеется два значения (Ivanov и Petrov) элемента CustumerName.

Контроль за правильностью использования порядка использования элементов осуществляется при помощи специального набора правил, называемых DTD (Document Type Definition)- описаниями, которые используются программой клиента при анализе документа.

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

В общем случае XML- документы должны удовлетворять следующим синктатическим правилам:

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

В случае, если элемент не содержит данных, т.е. является пустым, то начальный и конечные тэги такого элемента можно объединить в один. При этом не обязательно ставить косую черту перед закрывающей угловой скобкой (например, в вышеприведеном примере отсутствие факса в компании пару тэгов можно заменить на ;)

При необходимости, каждому элементу можно задать параметры, уточняющие его характеристики. При этом используются атрибуты эдлемента. Атрибут — это пара «название» = «значение», которую необходимо задавать при определении элемента в начальном тэге. Пример:

Просмотр XML документов осуществляется специальной программой анализатором. На сегодняшний день разработано около десятка подобных анализаторов. В своем новом браузере Internet Explorer 5 фирма Microsoft уже предусмотрела анализ XML документов.

Анализ документа в Internet Explorer 5 осуществляется тремя вариантами: просмотр аналогично HTML документу, форматирование документа с использованием специальных стилевых таблиц — XSL и анализ с помощью сценариев, написанных на Java Script ил VBScript.

Поиск нужного элемента или поддерева осуществляется при помощи XQL запроса. XQL является частью XML и переволится как язык запросов для XML (XML Query Language). Идет дисскусия об утверждении языка запросов в качестве общепринятого стандарта, который может заменить SQL.

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

Язык запросов напоминает обычный способ определения пути к ресурсу- список узлов дерева, разделенных символом «/». Для указания на текущий элемент используется символ «.» , на родительский — «..», для выделения всех дочерних элементов — символ «*», для выделения элемента, расположенного просто «ниже» по дереву(не важно на каком уровне вложенности) — «//». Условие на значение в запросе должно заключаться в символы «[» и «]». Для выбора значения атрибута в условии указывается символ @.

Примеры простых XQL шаблонов:

«/Customer « корневой элемент
«Customers/» возвращает дочерние элементы для элемента Customers
«Customers //» список всех элементов, вложенных в Customers
«container[@Type]» список элементов container, в котором определен атрибут Type
«container[@Type =20f]» поиск всех двадцатифутовых контейнеров, т.е. элементов container, в котором значение атрибута Type равно «20f»
«Customers[address]» список элементов Customers, которые содержат хотя бы один элемент address, выражение в квадратных скобках может быть составным.

Как мы видим, XML документ в отличие от EDIFACT сообщения позволяет более наглядно представить объектную модель данных. Использование языка описания XML запросов — XQL позволяет адекватно формализовать любой из существующих «бизнес» запросов (оформленных в виде стандартных документов) для информационных систем.

Илон Маск рекомендует:  Особенности многозадачности в среде windows 95

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

Системы XML/EDI

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

XML/EDI предлагает пользователям, использующих текущие стандарты пути решения возможных проблем и может быть интегрировано в существующие EDI системы путем:

  • Разработки форм для приложений пользователя, способных генерировать EDI сообщения
  • Создания форматов EDI сообщения для их передачи между компьютерами по Интернет, или через сети с добавленными услугами (VANs)
  • Разработки пользовательских шаблонов для интерпретации согласованных правил на компьютере получателя с помощью стандартных программ просмотра (браузеров)

XML/EDI представляет нечто больше, чем прямой перенос XML документов в системы EDI. В рамках построения XML/EDI представляется слияние пяти технологий (XML, EDI, Templates, Agents и Repository), которые существенно расширят существующие возможности информационной системы. Каждый из этих компонент добавляет свои специфические возможности.

Использование технологий XML/EDI реализует следующие цели:

  • Сделать EDI универсально допустимыми, используя свободно распространяемый код и синтаксис SQL (XQL)
  • Осуществить разработку «последующих» EDI — сообщений таким образом, чтобы они были полностью совместимы с существующими X12 и UN/EDIFACT стандартами
  • Осуществление, по возможности, единой трансляции сообщений X12 и UN/EDIFACT

На рис. 2 представлены составные части технологий XML/EDI:

Рис. 2 Составные части XML/EDI технологий

Более подробно про каждую из составных частей:

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

EDI. Разработанные в EDI системах стандарты способны представлять данные в простом формате. Эти данные однозначно интерпретируются на принимающей и передающей стороне. XML/EDI позволит обеспечить 100 % совместимостью с существующими EDI системами, используя при этом обмен EDIFACT сообщениями. Разработка протоколов XML/EDI позволяет использовать уже существующие EDI системы, что не потребует новых капиталовложений для разработки глобальных систем.

Templates (Шаблоны) — это набор определенных правил, которые осуществляют управление процессом, как на клиентской, так и на серверной стороне. С помощью шаблонов можно выразить в XML все особенности процесса, который должен быть выполнен. Шаблон могжет быть загружен как с удаленного источника, откуда пришел XML документ, так и быть его составной частью. Шаблоны используют Document Type Definitions (DTD’s), по которым определяется объектная модель данных. Удаленное использование (DTD’s) позволит всем клиентским приложениям однозначно определить используемую модель данных.

Agents (Агенты) интерпретируют шаблоны, чтобы интерактивно выполнить необходимые транзакции и взаимодействовать с пользователем. Агенты могут быть реализованы как аплеты Java или внедренные объекты ActiveX. Разбор структуры XML может осуществляться Агентом прямо на компьютере клиента и использовать при этом необходимые для пользователя данные и их представление. Первоначально агенты будут управляться Шаблонами и предоставлять пользователю некоторые дополнительные возможности. Предполагается, что позже будут разработаны соответствующие протоколы для Агентов.

Repository (хранилище) — совместно используемые в Интернете общедоступные словари — которые уже используются в традиционных EDI системах. Данные словари позволяют пользователям найти значение и область определения EDI элементов. Совместно используемые общие словари обеспечивают автоматические поисковые таблицы более гибким механизмом поиска. Данный компонент обеспечит семантическую основу для EDI транзакций.

Можно выделить следующие основные принципы построения XML/EDI:

  • XML используется как макет » моделирование обмена данными «
  • XSL используется как уровень «представления»
  • Возможность интеграции с традиционными методами EDI
  • Использование маршрутизациии по IP, а текже использование протоколов HTTP, FTP и SMTP
  • Централизованное представление документа и методология обработки
  • Протоколирование приема/отправки документов
  • Использование современных инструментальных средств программирования (Java и ActiveX)
  • Разделение данных и программ
  • Использование технологии агента для манипулирования данными, синтаксического анализа, отображения, поиска и т.д.

Определенные XML/EDI компоненты сформированы на основе существующих протоколов передачи и обработки кодированных в XML данных.

Рис 3. Уровни Интерфейсов XML/EDI

На рисунке представлены следующие интерфейсы уровней XML/EDI:

  • Использование стандартных транспортирных механизмов данных по Интернет и хранения файлов
  • Форматы представления данных и передачи сообщения
  • Синтаксис XML данных
  • Правила грамматического разбора XML документа или создание объектной модели
  • Правила XSL представления, связь со скриптами и уровнем разбора объекта
  • Использование правил управления данными для пользовательских приложений и интерфейсов баз данных

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

Первичные компоненты XML/EDI представляют общей язык описания и синтаксические правила и включают:

  • таблицу определения данных — DTD
  • Базу (хранилище) данных — Repositories
  • Сегменты и элементы данных (т.e. EDIFACT, X12, или BSI директории)
  • Базу бизнес объектов
  • Страницы торговых партнеров (База данных предприятий).

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

Рис 4 Связи в XML/EDI

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

Построение систем электронного документооборота на базе технологий XML-EDI

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

Американской фирмой IMC (International Marketing Company) были проведены исследования по изучению бумажных потоков подготовки и оформления документов участников международной торговли. В результате исследования оказалось, что в общей сложности все участники внешнеэкономической деятельности в рамках одной поставки (партии товаров) оформляют 40 документов-оригиналов и 360 копий.

Можно выделить следующие типы взаимодействия информационных систем:

  • Произвольное взаимодействие между двумя отдельными компьютерами, например по модему. Обязательное участие оператора на принимающей и передающей стороне. Возможен обмен в произвольном, но заранее оговоренном формате;
  • Интерактивное удаленное взаимодействие компьютера с информационной системой, например по протоколу http. Оператор на передающей стороне. Как правило используется определенная форма HTML документа. Принимаемые документы обрабатываются автоматически;
  • Контролируемая потоковая обработка, например прием по e-mail, файл содержащий HTML форму, запуск которой инициирует процесс обработки документа или прием оператором по e-mail электронных документов в оговоренном формате и далее запуск запуск программы обработки. Требует обязательный контроль оператора на принимаемой стороне;
  • Полностью автоматизированный процесс приема и обработки электронных документов в оговоренном формате. Участие операторов не требуется.

Сегодня, в сфере бизнеса создается и обрабатывается внушительный объем разнообразной бумажной документации. Она включает в себя заказы на приобретение, счета, каталоги, отчеты, платежные поручения и т.д. Бурное развитие телекоммуникаций в конце 80-х годов XX века открыло ворота для электронной торговли и Электронного обмена данными (Electronic Data Interchange или EDI)

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

Коренное отличие систем EDI от систем электронного документооборота состоит в том, что EDI системы — это межведомственные системы обмена (подачи) электронными документами, использующие строго стандартизированные правила составления электронных документов. А система электронного документооборота — это системы, как правило, разрабатываемые в рамках одной корпорации или предприятия, обмен в которых осуществляется по средствам распределенных СУБД (RMDB).

Бурное развитие Internet-технологий за последнее пятилетие вовлекло в международную электронную паутину миллионы новых пользователей. Требования к цифровому обмену возросли, и уже существующие EDI системы перестали удовлетворять многие группы пользователей.

описывает количество «пунктов» инвойса, т.е. количество наименований перевозимого товара. Далее, используя язык описания стилей XSL, генерируется HTML форма, которая заполняется данными об отправителе и получателе груза, а также о самом грузе. Внешнее представление сгенерированной формы принципиального значения не имеет и может быть разработано получателем документа самостоятельно. Также, возможно использование заранее подготовленной HTML формы с параметром id тага Transaction.

Рис. 8 Пример генерируемой HTML-формы.

Упрощенный вид генерируемой HTML формы представлен на рис. 8. После инициации события OnClick кнопки «Передача» (SUBMIT) происходит генерация следующего XML документа:

Особой задачей для семантической проверки и разбора XML документа и формирования EDIFACT сообщения является разработка Таблицы определения данных — DTD. При разработке DTD, учитывая иерархическую структуру EDIFACT сообщения, разрабатывается объектная модель документа — DOM. На рис 9 представлена иерархическая схема сообщения INVOICE.

В рассматриваемом EDIFACT сообщении INVOICE можно выделить сегменты и сопоставить их с объектами ELEMENT объектной модели. В левой части таблицы представлены DOM элементы, а в правой соответствующие им сегменты или части сегментов. Значок # указывает, что в данном месте должно находится значение из соответствующего элемента DOM.

Рис. 9 Иерархическая схема сообщения INVOICE.

Интерпретация содержания сегмента осуществляется следующим образом: значение тага из текста нашего XML документа ( 12345 ) будет преобразовано в BGM+380+12345+9+NA’, что соответствует записи в левой части таблицы объкта Element ( Name =»InvoiceNum» Value = # ) и BGM+380+#+9+NA’ в правой. Если какой либо сегмент содержит информацию из нескольких родственных (Sublin) тагов, то указывается номер вхождения:

Пример: Сегмент NAD содержит информацию из элемента «ConsigneeName» — вхождение #01 и элемента «Addsress» — вхождение #02:

Рис. 10 Иллюстрация к сегменту NAD.

Соответственно информация из элемента «Addsress» извлекается из дочерних элементов ( «City «, «Street» и «Country»), которые имеют свою часть вхождения в сегмент NAD:

Рис. 11 Дочерние элементы «Addsress»

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

  • EDI-Prefics — информация (статическая часть текста сегмента) предшествующая вхождению переменной;
  • EDI-Suffics — статическая часть текста сегмента после вхождения переменной.

Так для тага атрибутом является:

EDI-Prefics — «BGM+380+»
EDI-Suffics — «+9+NA’ «.

Для тегов, которые используют информацию при вводе из поля данных, используются атрибуты Title и Size.

Ниже представлена часть таблицы определения данных, которая иллюстрирует основы построения DTD для XML/EDI.

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

Двухступенчатое преобразование XML-документа

В предыдущем разделе рассказывалось об одном из способов организации состава клиентской части XML/EDI. Основным недостатком построения клиентской части по схеме одноступенчатого преобразования является «мануальностью» системы, т.е. система является не автоматической: Пользователь из Компании 1 (см. рис 9) должен взять из информационной системы своей компании информацию и в ручную заполнить форму Браузера, которая формирует XML документ (На рис. 9 для наглядности изображено два разных компьютера, один из которых является частью Intranet компании, и другой, который посредством WEB browser формирует XML документ).

Рис. 12 Топология внутреннего взаимодействия в компании.

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

Так на рис. 12, изображена топология внутреннего взаимодействия в Компании 3, где оператор со своего рабочего места вносит необходимые данные в информационную систему своей компании, которая автоматически, при определенных условиях, формирует XML-документ и отправляет его адресату.

Такая организация передачи электронных документов возможна разными способами: использование встроенных в HTML файл объектов ActiveX или написание специальных Java программ, которые реализовывали бы серверные обмены.

Другой из возможных вариантов построения системы XML/EDI — является использование двухступенчатого формирования электронного документа. На рис. 13 представлена схема двухступенчатого преобразования XML документа в EDI-сообщение.

Рис. 13 Схема двухступенчатого преобразования XML документа в EDI-сообщение.

На первом этапе, осуществляется преобразование XML-источника, используя XSL-преобразование стандартным XSL-анализатором, в формат метаданных XEDI.. По своей сути, формат метаданных XEDI — является своего рода новым языком, описанного языком разметки.

Второй этап заключается в прямом преобразовании метаданных XEDI транслятором XML/EDI непосредственно в EDI-сообщение. Аналогичный процесс, но уже в обратном порядке, происходит при конвертации EDI-сообщения в XML-документ.

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

Ниже будут изложены предложения XML-EDI Group, заложенные в преобразование метаданных.

Сообщение UN/EDIFACT можно разобрать на следующие самостоятельные единицы, вложенные друг в друга:

  • Сообщение
  • Группа сегментов
  • Сегмент
  • Группа Элементов данных
  • Элемент данных или Квалификатор

Каждой самостоятельной единице будет соответствовать свой элемент XML (элемент метаданных XEDI).

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

Значение атрибута Name для тага представляет имя EDI-сообщения. Для упрощения синтаксического анализа и сохранения наглядности документа вводится таг , который обрамляет повторяющиеся группы сегментов:

Каждый сегмент содержит группу элементов данных, в соответствии со справочником сегментов EDSD, который входит в набор стандартов UN/EDIFACT.

Возвращаясь к нашему примеру, кодировка в UN/EDIFACT NAD+SE+++OY Valio++ Helsinki++Box 789+Fi’ будет преобразована в:

Атрибутом тага id — является номер группы в справочнике элементов данных, а атрибут dic — номер справочника, по которому определяется квалификатор.

Элементы данных могут быть простыми и составными, состоящими из компонентов. Составные элементы данных объединяются тагами . Например, сегмент цена: PRI+INV:180′ содержит составной элемент данных, включающий квалификатор INV (цена по инвойсу) и значение цены — 180:

В данном примере таг имеет аттрибут id, который имеет значение положения составного элемента по справочнику EDCD. Значения id тага представляет относительное месторасположение в справочнике сегментов.

Преобразование XML документа в метаданные осуществляется посредством обработки XQL-запросов анализатором XSL. Ниже представлен текст запроса для преобразования EDIFACT элемента PRI (таг

) в XEDI метаданные:

Таг определяет область действия шаблона XSL фильтра, а таг определяет область шаблона, на которую распространяется данный запрос. Параметр select определяет область действия запроса в соответствии с синтаксисом запроса. Таг осуществляет подcтановку результата.

Синтаксис строки запроса схож с обычным способом определения пути к ресурсу- список узлов дерева, разделенных символом /. Для выделения всех дочерних элементов — используется символ «*», для выделения элемента, расположенного просто «ниже» по дереву(на любом уровне вложенности) символ — «file://». Условие на значение в запросе должно заключаться в символы «[» и «]». Для выбора значения атрибута в условии указывается символ @.

Примеры простых шаблонов:


» Transaction/» возвращает дочерние элементы для элемента Transaction
«Consignor//» список всех элементов, вложенных в Consignor
«SegmentName[@Id]» список элементов SegmentName, в котором определен атрибут Id
«SegmentName [@ > поиск всех тагов, которые имеют значение атрибута id равное 2

При формировании ответа на сообщение обратное преобразование из метаданных в XML-документ, осуществляется с помощью следующего шаблона:

Данный запрос интерпретируется как: выбрать все значения из тагов ;, имеющие значение параметра , и которые имеют вхождение в таги со значением параметра Name=»PRI».

Выполнение более сложных запросов, например, при формировании метаданных для сегмента NAD осуществляется, учитывая уровни вложенности:

Ресурсы по XML/EDI

Хотелось бы отметить о возможности более интересующегося читателя подчерпнуть более подробную информацию на следующих серверах:

ВОЗМОЖНОСТИ XML

XML начал вызывать огромный интерес и поддержку с того момента, как о нем было впервые заявлено в 1996 году. Он обеспечивает стандартный способ кодирования содержания, обеспечивая гибкий способ создания структур данных. В XML для разметки содержания на основе правил, составляемых разработчиком документа, используются теги. Этот набор правил называется описанием типа документа (Document Type Definition, DTD), и он позволяет разработчикам, применяющим XML, размечать различные документы. Сейчас документы всех этих типов можно создавать при помощи XML, для отображения содержания применяя HTML и Dynamic HTML (DHTML). XML также позволяет переназначать, переопределять и отображать содержание из одного источника при помощи других механизмов отображения. Например, хранить единую базу данных на сервере и поскольку сами данные отделены от информации об их представлении, одни и те же данные XML (будь то кулинарное меню или назначение врача) могут быть представлены различным образом на экранах компьютеров пользователей. Они могут быть отображены также на экране устройства, умещающегося в руке. Сам по себе XML-документ не указывает, будет ли, и каким образом, информация отображена на экране. XML-документ содержит лишь данные. С помощью механизма таблиц стилей HTML отображает данные. Как Web-сервер, так и браузер управляют преобразованием XML-данных в формат HTML. К тому же данные XML могут обновляться автоматически, без обновления всей страницы в целом. Такое фрагментарное обновление XML делает HTML-страницы более эффективными и динамичными. ображать выделенные данные на нескольких разных устройствах.

§ Лучший контроль над размещением информации.

§ Меньшая загрузка Web-сервера благодаря возможностям по доступу к информации на клиентской стороне. (независимость от сервера)

§ Применение различных типов гиперссылок (hyperlinks).

§ Возможность распространения различных видов информации в Internet и intranet.

§ Меньшее количество проблем, возникающих при отображении больших страниц (long pages).

Лучший контроль над размещением информации

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

XML позволяет сопоставлять стили с конкретными структурными элементами. Это означает, что разработчик может быстро применить стилевой формат для определения структурных элементов, например, сущностей, содержащих объявления изображений, особенных форматов абзацев, и даже стилей для различных типов механизмов связывания (linking mechanisms).

Независимость от сервера

Одной из наиболее важных функциональных возможностей XML является то, что документы не нуждаются в жесткой привязке к серверам. Используя так называемую объектную модель документа (Document Object Model, DOM) можно создавать XML-документы, в которых отображаются либо все данные, либо лишь часть этих данных. Предположим, что вы создаете ХМL документ — простую адресную книгу. При помощи HTML вы могли создать форму, позволяющую находить имя в адресной книге. Разумеется это бы потребовало пересылки поискового запроса из формы к серверу всякий раз, когда пользователю необходимо обратиться к тому или иному им ни в адресной книге.

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

Лучший контроль над большими документами

Вы когда-нибудь пытались просмотреть большую Web-страницу при помощи современных браузеров? HTML не позволяет отметить и выбрать с отдельный раздел для просмотра.

XML позволяет просто решить эту проблему, поскольку все XML-документы структурированы и правильно оформлены. В XML вам не придется «срезать острые углы», как в HTML, применяя различные элементы разделов, вы можете разбить единый документ на разделы. Такая многоуровневая структура напоминает иерархическое представление папок (folders) в Windows Explorer. Из этого следует, что XML обеспечивает возможность поиска по всему документу, не прибегая к созданию отдельных скриптов.

Применение множественных гиперссылок

XML предоставляет стандартную модель связывания, основанную на собственной спецификации — расширяемом языке связывания (Extensible Linking Language, Xlink). B HTML в качестве указателя связи, или URL, могут применяться лишь символьные типы данных. Сущности не применяются. В URL не могут содержаться условные обозначения (notations), разделяющие различные типы данных. А внутренние связи, применяемые для связи с другими ссылками в том же самом документе, используют атрибут NAME типа элемента, например, . Это относительно простое связывание.

Связывание в XML является, однако, более сложным, чем в HTML. Благодаря XLL (extensible Link Language) — языку описания связей для внедрения других документов XML и двунаправленных ссылок — XML предлагает развитые механизмы связывания, которые:

§ Предоставляют управление семантикой связи.

§ Применяют спецификацию расширенных связей (extended links), благодаря которой обеспечивается более двух связей.

§ Поддерживают указатели на внешние ресурсы, благодаря применению спецификации расширенных указателей (extended pointers, Xpointers)

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

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

§ связями, которые обеспечивают доступ к кольцу сайтов (ring of sites) или позволяют открывать множество окон;

Функциональные возможности и направления использования стандартов платформы XML

ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И НАПРАВЛЕНИЯ ИСПОЛЬЗОВАНИЯ СТАНДАРТОВ ПЛАТФОРМЫ XML

Институт проблем рынка РАН

E-mail: *****@***rssi. ru

Введение

Родившаяся на пороге 90-х годов в CERN концепция Всемирной паутины в короткие сроки привела к созданию глобальной гипермедийной информационной системы. Беспрецедентно быстрыми темпами растут объем поддерживаемых в ней информационных ресурсов и количество их пользователей. Интенсивно разрабатываются и имеют значительное количество пользователей многочисленные Web-приложения разнообразного характера, такие как поисковые машины, системы дистанционного обучения, цифровые библиотеки или системы электронного бизнеса. В таких условиях первоначальный комплекс стандартов, положенный в основу Web-технологий, быстро исчерпал свой потенциал и стал сдерживать их дальнейшее развитие. Именно в связи с указанным обстоятельством консорциум W3C предпринял разработку стандарта XML и его инфраструктуры – группы основанных на XML стандартов, дополняющих функциональные возможности XML и образующих вместе с XML платформу для разработки более продвинутых Web-приложений по сравнению с разрабатываемыми на основе существующих технологий HTML.

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

Состав стандартов платформы XML

В планах работ W3C по развитию технологий XML предусмат­ри­ва­ет­ся соз­дание значительного количества стандартов. Однако работа над ними ведет­ся с разной степенью интенсивности. В докладе рассматриваются только стан­дарты, которые приняты консорциумом либо разрабатываются достаточно активно.

Рассмотрим наиболее важные из этих стандартов. Стандарт пространства имен XML (Namespaces in XML) позволяет определять множество допустимых в XML-документе тегов разметки и их атрибутов. С ними можно ассоциировать некоторую семантику, определяемую по умолчанию либо явно — с помощью средств, выходящих за рамки стандарта. Принципиально важно, что этот стандарт явля­ется основой создания других стандартов платформы XML. Стандарт спецификаций схемы (XML Schema) предоставляет более богатые возможности описания структуры XML-документов по сравнению со средствами DTD языка XML. Стандарты языка указателей и языка гиперссылок (XPointer и XLink) позволяют идентифицировать фрагменты XML-документов и определять гиперссылки на XML-документы и их фрагменты, а также некоторые свойства гиперссылок. Стандарт среды определения ресурсов (RDF) дает возможность описывать семантику XML-документов с различной степенью форма­лизо­ван­ности. Управлять представлением XML-документов на стороне клиента дают возможность стандарты каскадных таблиц стилей (CSS) и расширяемого языка таблиц стилей (XSL). Стандарт XSLT, представляющий собой специальную часть XSL, описывает необходимые трансформации XML-документов. Разрабатываются также стандарт языка запросов ресурсов XML (XML-QL), для чего сформулированы требования к базовой модели данных и языку, и стандарт электронной подписи для XML-документов (XML-Signature). Стандарт объектной модели DOM для XML — и HTML-документов определяет функции интерфейса прикладного программирования для их обработки.

Особое место среди стандартов платформы XML занимает стандарт XHTML 1.0. Он предоставляет один из возможных путей обеспечения преемственности развития среды Web, позволяя использовать на платформе XML информационные ресурсы, накопленные в рамках технологий HTML. Этот стандарт поддерживает средствами XML функциональность текущей версии языка HTML (HTML 4.01).

Платформа XML включает также ряд вспомогательных стандартов. К их числу относятся, например, стандарт XML Information Set (Infoset), который определяет абстрактное описание данных, составляющих XML-документ, стандарт XPath, определяющий понятие фрагмента XML-документа, используемое в языках XPointer и XSLT. В стандарте XML Inclusions (XInclude) представлены модель и синтаксис для описания слияния XML-документов. Стандарт XML Fragment Interchange позволяет описывать контекст фрагментов XML-документа и благодаря этому просматривать и редактировать их вне полного текста документа. Упомянем также стандарт Canonical XML, в котором предлагается метод, позволяющий устанавливать эквивалентность двух XML-документов с различным синтаксическим представлением, что существенно, в частности, для использования электронной подписи.

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

Метаданные XML и семантика XML-документов

Одной из важнейших целей создания платформы XML является привнесение в среду Web метаданных, описывающих свойства поддерживаемых в ней информационных ресурсов, прежде всего, структуры XML-документов и их смыслового содержания (семантики). Благодаря этому обеспечиваются возможности автоматической проверки правильности структуры XML-документов и снижения уровня информационного шума при поиске информационных ресурсов в Web с помощью различных поисковых машин. Явное описание семантики XML-документов необходимо также для разнообразных Web-приложений. В частности, становится возможным создание принципиально новых прило­же­ний высокого ­уровня, основанных на интеграции информационных технологий и обес­пе­чивающих интеграцию неоднородных информационных ресурсов. Это направление актив­но развивается во многих странах мира и связано с созданием информационных сис­тем нового класса, функционирующих в среде Web и называемых электронными библиотеками.

Для определения метаданных, описывающих структуру XML-документов, в языке XML предусмотрены синтаксические конструкции, называемые определением типов документов (Document Type Definition, DTD). В DTD XML-документы данного типа описываются как иерархические структуры, состоящие из их элементов. Это описание может быть встроено в XML-документ или оно хранится где-либо в Web, и в документе дается на него ссылка. Для более утонченного описания структуры XML-документов могут использоваться средства стандарта XML Schema. По сравнению с DTD, этот стандарт предоставляет для описания XML-документов дополнительные возможности, в частности более развитую систему типов значений атрибутов элементов.

Семантика XML-документа может быть определена явным или неявным образом (по умолчанию). Явное определение может быть формализовано в различной степени. Простейший способ задания семантики – использование пространства имен. В отличие от языка HTML, обеспечивающего форматную разметку текста для определения его представления на экране, XML служит для структурной разметки. При этом в размечаемом XML-документе выделяются содержательные структурные единицы, называемые элементами. Для выделения элементов каждого типа используется свой тег, указывающий имя типа элемента. С каждым таким тегом можно ассоциировать семантику соответствующего элемента XML-документа. Наборы имен элементов с фиксированной явной интерпретацией их семантики (например, на естественном языке) могут представляться в виде пространств имен. Адрес документа, представляющего в Web этот набор имен, может рассматриваться как уникальный идентификатор про­стран­ства имен, и на него можно ссылаться в XML-документе, где используются принад­ле­жа­щие этому пространству имена. Заметим, что такое пространство имен может иденти­фи­ци­роваться адресом условного ресурса Web, который не содержит никакого явного описания смысла принадлежащих ему имен и даже просто не существует. Такой подход используется для определения семантики имен данного пространства по умолчанию.

В последнее время начали создаваться сервисы регистрации и поддержки пространств имен в интересах различных сообществ разработчиков и пользователей. Зарегистрированное пространство имен становится своего рода стандартом.

В качестве такого согласованного пространства имен может использоваться, например, набор элементов метаданных, названный Дублинским ядром (Dublin Core, DC). Его поддержкой и развитием занимается специально учрежденная для этих целей организация — Dublin Core Metadata Initiative (DCMI). Текущая версия спецификаций Дублинского ядра — DC 1.1 — была принята в июле 1999 г. Она включает 15 элементов метаданных. В настоящее время на ее основе ведется разработка официального стандарта ANSI/NISO Z39.85.

Более формализованный способ явного описания семантики XML-документов обеспечивается средствами стандарта W3C — Resource Definition Framework (RDF). Такое описание (RDF-спецификация) аналогично по своим возможностям концептуальной схеме в системах баз данных. По сравнению с рассмотренными выше средствами, оно представляет собой более высокий уровень семантического описания информационных ресурсов, приблизительно эквивалентный ER-модели.

В RDF-спецификации объявляется некоторое множество ресурсов, для каждого из которых определяются пары «свойство-значение». Информационные ресурсы в RDF — это ресурсы Web, идентифицируемые уникальным образом с помощью их URI (Uniform Resource Identifier, обобщение концепции URL в WWW). Они могут также представлять собой коллекции других информационных ресурсов или литералов, называемые контейнерами. Допускаются контейнеры типа мультимножества, последовательности и альтернативы. Значения свойств задаются литерально либо ссылками на другие ресурсы, которые представляются, в свою очередь, их свойствами. Таким образом, свойства могут определять и связи между ресурсами. Описание семантики свойств называется схемой. В стандарте RDF не регламентируется способ задания схемы для RDF-спецификации. Достаточно лишь представить ее как некоторый ресурс в WWW, и использовать URI этого ресурса для ссылки на нее в RDF-спецификации. В документации стандарта RDF рассматривается, например, вариант использования для этих целей упоминавшегося выше Дублинского ядра. Во второй части стандарта, называемой Schema Specification, предлагается значительно более богатый способ задания схемы. Этот способ основан на объектной модели, в которой используются концепции классов, свойств и ограничений, ассоциируемых с классами и свойствами, поддерживается иерархическое отношение «класс-подкласс».

Применения XML

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

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

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

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

Следует далее упомянуть о применениях XML в стандартах других инфор­ма­ци­он­ных технологий, где он используется как язык-посредник для обмена информацией между различного рода системами с помощью Web. В качестве примеров можно назвать стандарт XMI (XML Metadata Interchange) консорциума OMG обменного формата метаданных для CASE, стандарт OIM (Open Information Model) консорциума Meta Data Coalition и созданный на его основе стандарт OMG CWMI (Common Warehouse Metadata Interchange), определяющие формат представления метаданных и обмена метаданными для хранилищ данных. Планируется использовать XML для кодирования сообщений, которыми обмениваются клиент и сервер в известном стандарте ISO/IEC RDA/SQL (Remote Database Access for SQL) удаленного доступа к системам SQL баз данных. В разрабатываемом консорциумом Workflow Management Coalition (WfMC) стандарте потоков работ определяются спецификации XML DTD, позволяющие осуществлять обмен сообщениями на языке XML между программными средствами потоков работ для поддержки их интероперабельности.

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

Еще одно важное направление применения стандартов платформы XML – интеграция неоднородных информационных ресурсов.

Базы данных XML

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

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

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

В среде XML появляется аналог схемы базы данных, роль которой играет DTD или описание XML-документов средствами стандарта XML Schema. Здесь можно вести речь и об аналоге концептуальной схемы базы данных, роль которой играет RDF-спецификация. Для управления XML-документами разрабатываются языки запросов, как и в системах баз данных. В имеющихся проектах таких языков информационные ресурсы рассматриваются как множества независимых XML-документов. Гиперссылки, опреде­ляе­мые стандартами XLink и XPointer, во внимание не принимаются.

В контексте обсуждения баз данных XML важно обратить внимание на разработанный и развиваемый W3C стандарт Document Object Model (DOM) объектной модели для XML-документов, на основе которого могут строиться интерфейсы прикладного программирования для систем баз данных XML.

Заключение

Более подробное обсуждение затронутых в докладе вопросов можно найти в статьях [1-3]. Там же приводятся точные ссылки на документы, определяющие все упомянутые здесь стандарты.

Литература

1. XML: возможности и перспективы. Часть 1. Платформа XML и составляющие ее стандарты. Директор информационной службы. Январь 2001, с. 24-28.

2. XML: возможности и перспективы. Часть 2. Базы данных XML, семантика XML-документов, перспективы. Директор информационной службы. Февраль 2001, с. 16-20.

3. XML: сферы применения. Директор информационной службы. Апрель 2001.

Функциональные возможности и направления использования стандартов платформы XML

ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И НАПРАВЛЕНИЯ ИСПОЛЬЗОВАНИЯ СТАНДАРТОВ ПЛАТФОРМЫ XML

Институт проблем рынка РАН

E-mail: *****@***rssi. ru

Введение

Родившаяся на пороге 90-х годов в CERN концепция Всемирной паутины в короткие сроки привела к созданию глобальной гипермедийной информационной системы. Беспрецедентно быстрыми темпами растут объем поддерживаемых в ней информационных ресурсов и количество их пользователей. Интенсивно разрабатываются и имеют значительное количество пользователей многочисленные Web-приложения разнообразного характера, такие как поисковые машины, системы дистанционного обучения, цифровые библиотеки или системы электронного бизнеса. В таких условиях первоначальный комплекс стандартов, положенный в основу Web-технологий, быстро исчерпал свой потенциал и стал сдерживать их дальнейшее развитие. Именно в связи с указанным обстоятельством консорциум W3C предпринял разработку стандарта XML и его инфраструктуры – группы основанных на XML стандартов, дополняющих функциональные возможности XML и образующих вместе с XML платформу для разработки более продвинутых Web-приложений по сравнению с разрабатываемыми на основе существующих технологий HTML.

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

Состав стандартов платформы XML

В планах работ W3C по развитию технологий XML предусмат­ри­ва­ет­ся соз­дание значительного количества стандартов. Однако работа над ними ведет­ся с разной степенью интенсивности. В докладе рассматриваются только стан­дарты, которые приняты консорциумом либо разрабатываются достаточно активно.

Рассмотрим наиболее важные из этих стандартов. Стандарт пространства имен XML (Namespaces in XML) позволяет определять множество допустимых в XML-документе тегов разметки и их атрибутов. С ними можно ассоциировать некоторую семантику, определяемую по умолчанию либо явно — с помощью средств, выходящих за рамки стандарта. Принципиально важно, что этот стандарт явля­ется основой создания других стандартов платформы XML. Стандарт спецификаций схемы (XML Schema) предоставляет более богатые возможности описания структуры XML-документов по сравнению со средствами DTD языка XML. Стандарты языка указателей и языка гиперссылок (XPointer и XLink) позволяют идентифицировать фрагменты XML-документов и определять гиперссылки на XML-документы и их фрагменты, а также некоторые свойства гиперссылок. Стандарт среды определения ресурсов (RDF) дает возможность описывать семантику XML-документов с различной степенью форма­лизо­ван­ности. Управлять представлением XML-документов на стороне клиента дают возможность стандарты каскадных таблиц стилей (CSS) и расширяемого языка таблиц стилей (XSL). Стандарт XSLT, представляющий собой специальную часть XSL, описывает необходимые трансформации XML-документов. Разрабатываются также стандарт языка запросов ресурсов XML (XML-QL), для чего сформулированы требования к базовой модели данных и языку, и стандарт электронной подписи для XML-документов (XML-Signature). Стандарт объектной модели DOM для XML — и HTML-документов определяет функции интерфейса прикладного программирования для их обработки.

Особое место среди стандартов платформы XML занимает стандарт XHTML 1.0. Он предоставляет один из возможных путей обеспечения преемственности развития среды Web, позволяя использовать на платформе XML информационные ресурсы, накопленные в рамках технологий HTML. Этот стандарт поддерживает средствами XML функциональность текущей версии языка HTML (HTML 4.01).

Платформа XML включает также ряд вспомогательных стандартов. К их числу относятся, например, стандарт XML Information Set (Infoset), который определяет абстрактное описание данных, составляющих XML-документ, стандарт XPath, определяющий понятие фрагмента XML-документа, используемое в языках XPointer и XSLT. В стандарте XML Inclusions (XInclude) представлены модель и синтаксис для описания слияния XML-документов. Стандарт XML Fragment Interchange позволяет описывать контекст фрагментов XML-документа и благодаря этому просматривать и редактировать их вне полного текста документа. Упомянем также стандарт Canonical XML, в котором предлагается метод, позволяющий устанавливать эквивалентность двух XML-документов с различным синтаксическим представлением, что существенно, в частности, для использования электронной подписи.

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

Метаданные XML и семантика XML-документов

Одной из важнейших целей создания платформы XML является привнесение в среду Web метаданных, описывающих свойства поддерживаемых в ней информационных ресурсов, прежде всего, структуры XML-документов и их смыслового содержания (семантики). Благодаря этому обеспечиваются возможности автоматической проверки правильности структуры XML-документов и снижения уровня информационного шума при поиске информационных ресурсов в Web с помощью различных поисковых машин. Явное описание семантики XML-документов необходимо также для разнообразных Web-приложений. В частности, становится возможным создание принципиально новых прило­же­ний высокого ­уровня, основанных на интеграции информационных технологий и обес­пе­чивающих интеграцию неоднородных информационных ресурсов. Это направление актив­но развивается во многих странах мира и связано с созданием информационных сис­тем нового класса, функционирующих в среде Web и называемых электронными библиотеками.

Для определения метаданных, описывающих структуру XML-документов, в языке XML предусмотрены синтаксические конструкции, называемые определением типов документов (Document Type Definition, DTD). В DTD XML-документы данного типа описываются как иерархические структуры, состоящие из их элементов. Это описание может быть встроено в XML-документ или оно хранится где-либо в Web, и в документе дается на него ссылка. Для более утонченного описания структуры XML-документов могут использоваться средства стандарта XML Schema. По сравнению с DTD, этот стандарт предоставляет для описания XML-документов дополнительные возможности, в частности более развитую систему типов значений атрибутов элементов.

Семантика XML-документа может быть определена явным или неявным образом (по умолчанию). Явное определение может быть формализовано в различной степени. Простейший способ задания семантики – использование пространства имен. В отличие от языка HTML, обеспечивающего форматную разметку текста для определения его представления на экране, XML служит для структурной разметки. При этом в размечаемом XML-документе выделяются содержательные структурные единицы, называемые элементами. Для выделения элементов каждого типа используется свой тег, указывающий имя типа элемента. С каждым таким тегом можно ассоциировать семантику соответствующего элемента XML-документа. Наборы имен элементов с фиксированной явной интерпретацией их семантики (например, на естественном языке) могут представляться в виде пространств имен. Адрес документа, представляющего в Web этот набор имен, может рассматриваться как уникальный идентификатор про­стран­ства имен, и на него можно ссылаться в XML-документе, где используются принад­ле­жа­щие этому пространству имена. Заметим, что такое пространство имен может иденти­фи­ци­роваться адресом условного ресурса Web, который не содержит никакого явного описания смысла принадлежащих ему имен и даже просто не существует. Такой подход используется для определения семантики имен данного пространства по умолчанию.

В последнее время начали создаваться сервисы регистрации и поддержки пространств имен в интересах различных сообществ разработчиков и пользователей. Зарегистрированное пространство имен становится своего рода стандартом.

В качестве такого согласованного пространства имен может использоваться, например, набор элементов метаданных, названный Дублинским ядром (Dublin Core, DC). Его поддержкой и развитием занимается специально учрежденная для этих целей организация — Dublin Core Metadata Initiative (DCMI). Текущая версия спецификаций Дублинского ядра — DC 1.1 — была принята в июле 1999 г. Она включает 15 элементов метаданных. В настоящее время на ее основе ведется разработка официального стандарта ANSI/NISO Z39.85.

Более формализованный способ явного описания семантики XML-документов обеспечивается средствами стандарта W3C — Resource Definition Framework (RDF). Такое описание (RDF-спецификация) аналогично по своим возможностям концептуальной схеме в системах баз данных. По сравнению с рассмотренными выше средствами, оно представляет собой более высокий уровень семантического описания информационных ресурсов, приблизительно эквивалентный ER-модели.

В RDF-спецификации объявляется некоторое множество ресурсов, для каждого из которых определяются пары «свойство-значение». Информационные ресурсы в RDF — это ресурсы Web, идентифицируемые уникальным образом с помощью их URI (Uniform Resource Identifier, обобщение концепции URL в WWW). Они могут также представлять собой коллекции других информационных ресурсов или литералов, называемые контейнерами. Допускаются контейнеры типа мультимножества, последовательности и альтернативы. Значения свойств задаются литерально либо ссылками на другие ресурсы, которые представляются, в свою очередь, их свойствами. Таким образом, свойства могут определять и связи между ресурсами. Описание семантики свойств называется схемой. В стандарте RDF не регламентируется способ задания схемы для RDF-спецификации. Достаточно лишь представить ее как некоторый ресурс в WWW, и использовать URI этого ресурса для ссылки на нее в RDF-спецификации. В документации стандарта RDF рассматривается, например, вариант использования для этих целей упоминавшегося выше Дублинского ядра. Во второй части стандарта, называемой Schema Specification, предлагается значительно более богатый способ задания схемы. Этот способ основан на объектной модели, в которой используются концепции классов, свойств и ограничений, ассоциируемых с классами и свойствами, поддерживается иерархическое отношение «класс-подкласс».

Применения XML

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

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

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

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

Следует далее упомянуть о применениях XML в стандартах других инфор­ма­ци­он­ных технологий, где он используется как язык-посредник для обмена информацией между различного рода системами с помощью Web. В качестве примеров можно назвать стандарт XMI (XML Metadata Interchange) консорциума OMG обменного формата метаданных для CASE, стандарт OIM (Open Information Model) консорциума Meta Data Coalition и созданный на его основе стандарт OMG CWMI (Common Warehouse Metadata Interchange), определяющие формат представления метаданных и обмена метаданными для хранилищ данных. Планируется использовать XML для кодирования сообщений, которыми обмениваются клиент и сервер в известном стандарте ISO/IEC RDA/SQL (Remote Database Access for SQL) удаленного доступа к системам SQL баз данных. В разрабатываемом консорциумом Workflow Management Coalition (WfMC) стандарте потоков работ определяются спецификации XML DTD, позволяющие осуществлять обмен сообщениями на языке XML между программными средствами потоков работ для поддержки их интероперабельности.

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

Еще одно важное направление применения стандартов платформы XML – интеграция неоднородных информационных ресурсов.

Базы данных XML

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

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

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

В среде XML появляется аналог схемы базы данных, роль которой играет DTD или описание XML-документов средствами стандарта XML Schema. Здесь можно вести речь и об аналоге концептуальной схемы базы данных, роль которой играет RDF-спецификация. Для управления XML-документами разрабатываются языки запросов, как и в системах баз данных. В имеющихся проектах таких языков информационные ресурсы рассматриваются как множества независимых XML-документов. Гиперссылки, опреде­ляе­мые стандартами XLink и XPointer, во внимание не принимаются.

В контексте обсуждения баз данных XML важно обратить внимание на разработанный и развиваемый W3C стандарт Document Object Model (DOM) объектной модели для XML-документов, на основе которого могут строиться интерфейсы прикладного программирования для систем баз данных XML.

Заключение

Более подробное обсуждение затронутых в докладе вопросов можно найти в статьях [1-3]. Там же приводятся точные ссылки на документы, определяющие все упомянутые здесь стандарты.

Литература

1. XML: возможности и перспективы. Часть 1. Платформа XML и составляющие ее стандарты. Директор информационной службы. Январь 2001, с. 24-28.

2. XML: возможности и перспективы. Часть 2. Базы данных XML, семантика XML-документов, перспективы. Директор информационной службы. Февраль 2001, с. 16-20.

3. XML: сферы применения. Директор информационной службы. Апрель 2001.

Зачем нужен язык XML?

Я думаю, что Вы уже представляете себе, зачем нужен HTML (да, HTML). Он нужен для представления данных в браузере. То есть имеется HTML-код и соответствующий этому HTML-коду определённый вид. Однако, современные тенденции требуют не просто отображения данных, но ещё и их грамотной внутренней структуры.

Вот именно для создания структуры и существует язык XML. Простой пример:

Для нас людей сразу всё становится понятно. В голове возникает сразу образ «зелёного яблока«, однако, как объяснить компьютеру, что это яблоко, а не апельсин, человек или наша галактика? Здесь вновь приходит на помощь XML, где мы можем создавать любые теги, давая чётко понять, где яблоко, где апельсин, где человек, а где наша галактика. Надеюсь, понятно объяснил.

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

  • Файл-настроек. Настройки в XML-файле очень легко считывать и записывать. По этой причине на Вашем компьютере находятся сотни XML-файлов.
  • Мост для обмена данными между программами, написанными на разных языках. Очень важная особенность, следующая из универсальности языка, и это регулярно используется в сложных системах.
  • Хранение данных. Фактически, это некий аналог базы данных, но не требующий СУБД (например, MySQL). А благодаря языку запросов XPath становится возможным легко общаться с этой «базой данных«.

И, наконец, из своей практики могу привести самый простой пример. У меня на сайте есть карта сайта в формате XML. Там находятся ссылки на все страницы сайта. Это вещь весьма удобная и важная для хорошей индексации сайта, однако, каждый раз вручную добавлять туда новую страницу неудобно. Поэтому благодаря знаниям по работе с XML, я это дело легко автоматизировал. Так что XML — полезный язык, который надо знать любому программисту хотя бы в общих чертах.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 3 ):

    Спасибо, Вам за сайт. Очень аккуратный, без страшных смап рекламов, очень много полезных информаций. супер!

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

    Такой вопрос: в статье про XML (самой первой) было написано: «XML надо знать далеко не всем», здесь написано совершенно обратное. Почему?

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    XML для начинающих

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

    В этой статье

    Пометки, разметка и теги

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

    В мире информационных технологий термин «пометка» превратился в термин «разметка». При разметке используются коды, называемые тегами (или иногда токенами), для определения структуры, визуального оформления и — в случае XML — смысла данных.

    Текст этой статьи в формате HTML является хорошим примером применения компьютерной разметки. Если в Microsoft Internet Explorer щелкнуть эту страницу правой кнопкой мыши и выбрать команду Просмотр HTML-кода, вы увидите читаемый текст и теги HTML, например

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

    ) и местоположение рисунков.

    Отличительные черты XML

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

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

    Учитывайте при работе следующее:

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

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

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

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

    Но не путайте теги в данном примере с тегами в HTML-файле. Например, если приведенный выше текст в формате XML вставить в HTML-файл и открыть его в браузере, то результаты будут выглядеть следующим образом:

    Izzy Siamese 6 yes no Izz138bod Colin Wilcox

    Веб-браузер проигнорирует теги XML и отобразит только данные.

    Правильно сформированные данные

    Вероятно, вы слышали, как кто-то из ИТ-специалистов говорил о «правильно сформированном» XML-файле. Правильно сформированный XML-файл должен соответствовать очень строгим правилам. Если он не соответствует этим правилам, XML не работает. Например, в предыдущем примере каждый открывающий тег имеет соответствующий закрывающий тег, поэтому в данном примере соблюдено одно из правил правильно сформированного XML-файла. Если же удалить из файла какой-либо тег и попытаться открыть его в одной из программ Office, то появится сообщение об ошибке и использовать такой файл будет невозможно.

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

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

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

    Схемы

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

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

    Схемы могут быть сложными, и в данной статье невозможно объяснить, как их создавать. (Кроме того, скорее всего, в вашей организации есть ИТ-специалисты, которые знают, как это делать.) Однако полезно знать, как выглядят схемы. Следующая схема определяет правила для набора тегов . :

    Не беспокойтесь, если в примере не все понятно. Просто обратите внимание на следующее:

    Строковые элементы в приведенном примере схемы называются объявлениями. Если бы требовались дополнительные сведения о животном, например его цвет или особые признаки, то специалисты отдела ИТ добавили бы к схеме соответствующие объявления. Систему XML можно изменять по мере развития потребностей бизнеса.

    Объявления являются мощным средством управления структурой данных. Например, объявление означает, что теги, такие как и
    , должны следовать в указанном выше порядке. С помощью объявлений можно также проверять типы данных, вводимых пользователем. Например, приведенная выше схема требует ввода положительного целого числа для возраста кота и логических значений (TRUE или FALSE) для тегов ALTERED и DECLAWED.

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

    Преобразования

    Как говорилось выше, XML также позволяет эффективно использовать и повторно использовать данные. Механизм повторного использования данных называется преобразованием XSLT (или просто преобразованием).

    Вы (или ваш ИТ-отдел) можете также использовать преобразования для обмена данными между серверными системами, например между базами данных. Предположим, что в базе данных А данные о продажах хранятся в таблице, удобной для отдела продаж. В базе данных Б хранятся данные о доходах и расходах в таблице, специально разработанной для бухгалтерии. База данных Б может использовать преобразование, чтобы принять данные от базы данных A и поместить их в соответствующие таблицы.

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

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

    В этом примере показано, как может выглядеть текст одного из типов преобразования, но помните, что вы можете ограничиться четким описанием того, что вам нужно от данных, и это описание может быть сделано на вашем родном языке. Например, вы можете пойти в отдел ИТ и сказать, что необходимо напечатать данные о продажах для конкретных регионов за последние два года, и что эти сведения должны выглядеть так-то и так-то. После этого специалисты отдела могут написать (или изменить) преобразование, чтобы выполнить вашу просьбу.

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

    XML в системе Microsoft Office

    Профессиональные выпуски Office обеспечивают расширенную поддержку XML. Начиная с 2007 Microsoft Office System, Microsoft Office использует форматы файлов на основе XML, например DOCX, XLSX и PPTX. Так как XML хранит данные в текстовом формате, а не в собственном двоичном формате, клиенты могут определять собственные схемы и использовать ваши данные разными способами, без необходимости платить ройалтиес. Дополнительные сведения о новых форматах см. в статье форматы Open XML и расширения имен файлов. Ниже приведены другие преимущества.

    Меньший размер файлов. Новый формат использует ZIP и другие технологии сжатия, поэтому размер файла на 75 процентов меньше, чем в двоичных форматах, применяемых в более ранних версиях Office.

    Более простое восстановление данных и повышенная безопасность. XML — это читаемость, поэтому если файл поврежден, вы можете открыть его в Microsoft Notepad или в другом текстовом средстве чтения и восстановить по крайней мере часть ваших данных. Кроме того, новые файлы более безопасны, поскольку они не могут содержать код Visual Basic для приложений (VBA). Если для создания шаблонов используется новый формат, все элементы ActiveX и макросы VBA располагаются в отдельном, более безопасном разделе файла. Кроме того, для удаления личных данных можно использовать инструменты, такие как инспектор документов. Дополнительные сведения об использовании инспектора документов см. в статье Удаление скрытых и персональных данных путем проверки документов.

    Все это замечательно, но что делать, если у вас есть XML-данные без схемы? Это зависит от того, какую программу Office вы используете. Например, при открытии XML-файла без схемы в приложении Excel оно предполагает, что схема существует, и дает возможность загрузить данные в XML-таблицу. Вы можете использовать XML-списки и таблицы для сортировки, фильтрации и вычисления данных.

    Включение средств XML в Office

    По умолчанию вкладка «Разработчик» не отображается. Ее необходимо добавить на ленту для использования команд XML в Office.

    В Office 2020, Office 2013 или Office 2010: Отображение вкладки «Разработчик».

    Xml: возможности и перспективы

    Зa неполный год своего официального существования язык XML привлек к себе уже достаточно много внимания со стороны разработчиков и пользователей Интернет. Сегодня количество приверженцев этой новой технологии возрастает также стремительно, как и число сообщений об очередных взятых ею преградах на пути к всеобщему признанию. Несмотря на то, что XML очень молод (международная организация W3C утвердила спецификацию «Extensible Markup Language(XML) 1.0» чуть меньше года назад — в начале февраля 1998 г) и отдельные компоненты этого языка находятся еще в стадии доработки, уже сегодня появляются новые языки, созданные на основе XML, возникают многочисленные Web-сервера, использующие эту технологию для организации хранящейся на них информации. Мир Интернет вокруг нас в очередной раз преображается, и мы можем стать участниками этого процесса уже сегодня

    Целью данной статьи является попытка на конкретных примерах показать некоторые из возможностей XML, ответить на ряд часто возникающих при знакомстве с новым языком вопросов. Что же такое XML? В чем заключаются его преимущества перед привычным уже нам языком HTML? Можно ли использовать XML на своих Web-страничках уже сегодня? А если можно, то как?

    В конце статьи приведены ссылки на другие ресурсы Интернет, с помощью которых Вы сможете также получить более полную информацию по конкретным интересующим Вас вопросам, связанным с применением XML и незатронутых нами в этой статье. Полные спецификации XML и связанных с ним языков доступны на официальной странице W3C — www.w3.org

    Для чего нужен новый язык разметки?

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

    Популярность World Wide Web и неотъемлемой ее части, HTML, безусловно, стала причиной повышенного внимания к системам гипертекстовой разметки документов. Хотя понятие гипертекста было введено В.Бушем еще в 1945 году и, начиная с 60-х годов стали появляться первые приложения, использующие гипертекстовые данные, всплеск активности вокруг этой технологии начался лишь тогда, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста. И примером реализации этого механизма послужила паутина WWW.

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

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

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

    HTML [8]является упрощенной версией стандартного общего языка разметки — SGML (Standart Generalised Markup Language[10]), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD- описаниями(более подробно о DTD мы поговорим чуть позже), которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но в виду некоторой своей сложности, SGML использовался, в основном, для описания синтаксиса других языков(наиболее известным из которых является HTML), и немногие приложения работали с SGML- документами напрямую.

    Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций — тэгов, при помощи которых осуществляется процесс разметки. Инструкции HTML, в первую очередь, предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Web

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

    программа просмотра будет знать, каким цветом отобразить текст, содержащийся внутри тэгов и, вероятно, отобразит его правильно, но ей абсолютно безразлично, в каком месте документа встретился этот тэг, в какие другие тэги заключен текущий фрагмент, существуют ли вложенные в него фрагменты, правильно ли построены отношения между объектами. Такое «безразличие» к структуре документа приводит к тому, что поиск или анализ информации внутри него ничем не будет отличаться от работы со сплошным, не разбитым на элементы текстовым файлом. А это, как известно, не самый эффективный способ работы с информацией.

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

    Подводя итог всему сказанному, можно утверждать, что HTML уже сегодня не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий, и, одновременно с этим, удобный язык XML. В чем же заключается его достоинства?

    XML (Extensible Markup Language[1]) — это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг , внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа

    Правила создания XML- документа

    В общем случае XML- документы должны удовлетворять следующим требованиям:

    • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
    • Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего «напарника», т.е., в отличие от HTML, нельзя опускать закрывающие тэги
    • В XML учитывается регистр символов
    • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
    • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
    • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

    Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.

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

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

    На сегодняшний день существует два способа контроля правильности XML- документа: DTD — определения(Document Type Definition) и схемы данных(Semantic Schema). Более подробно об использовании DTD и схемах мы поговорим в следующих разделах. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.

    Конструкции языка

    Содержимое XML- документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.

    Элементы данных

    Элемент — это структурная единица XML- документа. Заключая слово rose в в тэги , мы определяем непустой элемент, называемый , содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, — т.е. практически любые части XML- документа.

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

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

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

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

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

    В случае, если элемент не имеет содержимого, т.е. нет данных, которые он должен определять, он называется пустым. Примером пустых элементов в HTML могут служить такие тэги HTML, как
    , ,

    Комментарии

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

    Атрибуты

    Если при определении элементов необходимо задать какие-либо параметры, уточняющие его характеристики, то имеется возможность использовать атрибуты эдлемента. Атрибут — это пара «название» = «значение», которую надо задавать при определении элемента в начальном тэге. Пример:

    Примером использования атрибутов в HTML является описание элемента :

    Cпециальные символы

    Для того, чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор. Например, &lt; , &gt; &quot; или &amp#036;(десятичная форма записи), &amp#x1a (шестнадцатеричная) и т.д. Строковые обозначения спецсиволов могут определяться в XML документе при помощи компонентов (entity), о чем мы еще поговорим немного позже.

    Директивы анализатора

    Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов — ) или создании пространства имен[11].

    CDATA

    Чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы, но, в отличии от комментариев, иметь возможность использовать их в приложении, необходимо использовать тэги . Внутри этого блока можно помещать любую информацию, которая может понадобится программе- клиенту для выполнения каких-либо действий (в область CDATA, можно помещать, например, инструкции JavaScript). Естественно, надо следить за тем, чтобы в области, ограниченной этими тэгами не было последовательности символов ]].

    Что дальше

    Мы рассмотрели в общих чертах основные структурные части XML- документа, правила описания элементов XML и теперь можем создать синтаксически правильный XML- документ, содержащий каким-то образом структурированные данные( более подробный пример приведен в Приложении 1.) Однако при этом почти не коснулись вопросов практического применения XML. Как отображать содержимое XML- документов на Web- страницах, осуществлять контроль над правильностью их составления; существуют ли уже сегодня какие-либо удобные средства для создания, анализа и просмотра таких документов? В следующих разделах мы попробуем ответить на эти вопросы.

    Обзор криптовалюты Stellar — перспективы и прогнозы XML

    Многие специалисты сравнивают монеты Stellar (тикер — XML) с коинами Ripple (тикер — XRP). Есть ли в реальности шансы у криптовалюты Stellar обогнать своего основного конкурента, как заработать на XLM, и какую биржу Stellar выбрать для покупки этих перспективных монет?

    Особенности системы и монет криптовалют Stellar

    Криптовалюта Stellar – это система, разработанная в 2014 году Джедом МакКалебом, которая является форком (ответвлением) системы Ripple. По сути, рассматривая XML, мы имеем дело с «братом» Ripple, характеристики которого, согласно заявлениям создателей, значительно лучше.
    Изначально Stellar использовал тот же протокол, что и Ripple, однако, вскоре его разработчики существенно доработали алгоритм, исходный код которого сделали открытым. Внутренняя криптовалюта Stellar имеет название Lumen, получив на биржах соответственный тикер XML. Управление системой криптовалюты Stellar осуществляется некоммерческим фондом Stellar Development Foundation, через который и идет основной поток спонсирования развития криптовалюты Stellar.

    Как и система Ripple, криптовалюта Stellar в основе своей работы не использует блокчейн цепочки. Их роль выполняют специальные платежные шлюзы, которые соединяют между собой пользователей сети и постоянно синхронизируют их данные, стремясь достичь консенсуса.

    Зачем было создавать двойника Ripple, и чем криптовалюта Stellar лучше от своего старшего брата? Примерно также, как создатели Ethereum Classic посчитали, что команда Ethereum слишком увлеклась коммерцией, пожертвовав принципами децентрализации, так и создатели Stellar решили, что Ripple – это слишком коммерческий проект, принципы которого не соответствуют принципам криптовалюты. Исходя из этого, система криптовалюты Stellar получила следующие отличительные особенности:

    • В отличие от системы Ripple, в которой Ripple Lab является владельцем 65% выпущенных коинов и может влиять на курс монет XRP, создатели Stellar почти в полном объеме выпустили коины XML на рынок, где курс криптовалюты Stellar может регулироваться только спросом и предложением
    • Ripple Labs (создатели Stellar) – это коммерческая организация, а значит ее руководители в первую очередь будут заботиться о собственном обогащении, тогда как Stellar Development Foundation – это некоммерческий фонд.
    • Платформа Ripple – это централизированная платформа, которой в настоящее время, по сути, управляют крупные банки и инвест-фонды, тогда как, платформа Stellar обладает всеми признаками децентрализации.

    Таким образом, согласно мнению создателей криптовалюты Stellar, перспективы их платформы значительно лучше, чем у Ripple.

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

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

    Оценка биржевого курса Stellar

    С момента запуска на публичные торги (август 2014 года), монеты криптовалюты Stellar продемонстрировали следующие результаты:

    • Капитализация рынка криптовалюты Stellar выросла с $770 тыс. до $10 млрд.
    • Цена коинов криптовалюты XML выросла с $0,002 до $0,7
    • График курса криптовалюты Stellar (XML) имеет растущую бычью тенденцию. В настоящее время мы наблюдаем глубокую коррекцию котировок коинов Stellar, что вызвано корреляцией с общей тенденцией криптовалютного рынка.

    Криптовалюта Stellar — прогноз 2020-2020

    Учитывая предыдущую динамику котирования криптовалюты XML, прогноз в техническом плане можно сделать только бычий. К концу 2020 года эти монеты должны сдвинуть свой исторический максимум и взять новую вершину роста. Наиболее вероятной целью для 2020 года является отметка $1 за 1 коин XML. В долгосрочном плане перспективы криптовалюты Stellar будут зависеть от динамики развития рынка криптовалюты и внедрения предложенной создателями Stellar системы в мировую систему финансов.

    Биржи Stellar – где купить XML

    Если вы ищите биржи XML с наиболее выгодным курсом Stellar, лучше выбирать площадки с наибольшими объемами торгов. Проанализировав данные объемов, мы видим, что на первых позициях находится корейская площадка Upbit (не русифицирована) и Binance (есть русский интерфейс).

    Учитывая критерий удобства для работы – Binance, однозначно, лучшая биржа для того чтобы купить Stellar.

    Как заработать на Stellar?

    Решили заработать на XML? Для этого можно использовать одну из нескольких стратегий:

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

    Е ditor С ontacts

    Имя: Джонатан Эйнджел

    Должность: старший редактор

    Издание : Network Magazine

    Улица и дом: Гариссона, 600

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

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

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

    может быть присвоен атрибут align=”center”. В XML элемент может иметь один или более связанных с ним атрибутов. Причем при составлении документа можно предложить их столько, сколько потребует логика представления публикации, например,

    Язык XML может использоваться в качестве промежуточного программного обеспечения. Если теги и элементы XML используются на персональном Web — сервере, то не имеет значения, какие имена присвоены элементам и тегам публикации. С другой стороны, при таком подходе возникает проблема программно – информационной совместимости с другими Web – серверами. Причем, это обстоятельство имеет огромное значение. Поэтому необходима стандартизация атрибутов тегов и элементов документа.

    Типы документов. Для этих целей используются определения типов документов (Document Type Definition, DTD). Хранимые в начале файла XML или в виде файла *.DTD, эти определения описывают информационную структуру документа. DTD перечисляют возможные имена элементов, определяют имеющиеся атрибуты для каждого типа элементов и описывают сочетаемость одних элементов с другими.

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

    Например, декларация определяет элемент с именем publication, содержащий символьные данные (т. е. текст). Декларация определяет элемент с именем special_report, содержащий подэлементы article_1, article_2 и article_3 в указанном порядке, например:

    системами с помощью XML

    После определения элементов DTD могут также определять атрибуты с помощью команды !ATTLIST. Она указывает элемент, именует связанный с ним атрибут и затем описывает его допустимые значения. Например, следующая команда устанавливает соответствие между атрибутом manufacturer и элементом car, причем первый из них может принимать одно из указанных значений:

    (Audi л Volvo л Volkswagen)>

    !ATTLIST позволяет управлять атрибутами и многими другими способами: задавать значения по умолчанию, подавлять пробелы и т. д. DTD могут также содержать декларации !ENTITY, где определяются ссылки на объекты, а также декларации !NOTATION, указывающие, какие операции проводятся с двоичными файлами не в формате XML.

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

    К документам XML могут быть применены термины «правильно составленный» (well-formed) и «действительный» (valid). Документ XML считается правильно составленным, если для каждого открывающего тега имеется соответствующий закрывающий тег, а накладывающиеся теги отсутствуют. Документ является действительным, если он содержит DTD и соответствует его правилам.

    Значительный потенциал XML в качестве промежуточного программного обеспечения подкрепляется объектной моделью документа (Document Object Model, DOM), первая версия которого была принята в качестве рекомендации W3C в октябре 1998 года. DOM возникла как спецификация для обеспечения переносимости сценариев JavaScript и программ на Java между Web — браузерами и позднее эволюционировала в API для документов HTML и XML. Она определяет логическую структуру документов, способы доступа и манипулирования ими. Программисты могут создавать документы, управлять их структурой и добавлять, модифицировать или удалять элементы и содержимое.

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

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

    На рис. 1 приведена потенциальная структура элемента.

    Рис. 1 Структура элемента XML .

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

    Известно несколько языков описания таблиц стилей:

    — Каскадные таблицы стилей CSS ( Cascade Style Sheets ). При наличии нескольких таблиц стилей, из них обычно формируется каскад, т. е. иерархия со свойствами, взятыми из всех таблиц.

    — Расширяемый язык таблиц стилей XSL ( Extensible Style Sheets ). Этот язык разрешает пользователю создавать свои собственные форматирующие теги и свойства.

    — Язык семантики и спецификаций стиля документа DSSSL (Document Semantic and Style Specification Language).

    — XS , так же известный как DSSSL -0.

    Наибольший интерес представляют CSS и XSL . Ниже, в таблице 2 приведены известные в литературе сравнительные характеристики вышеуказанных таблиц стилей.

    Илон Маск рекомендует:  Обзор браузера Safari. История, плюсы и минусы браузера
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL