- •Лекция 4-01
- •4.1.2. Основные классы задач xml
- •4.1.2.1. Создание новых языков
- •4.1.2.2. Хранение данных
- •4.1.2.3. Обмен данными и проекты интеграции
- •4.1.3. ДокументыXmLи их компоненты
- •4.1.3.1. Структура документаXml
- •4.1.3.2. Объявления
- •4.1.3.3. Элемент
- •4.1.3.4. Инструкция по обработке
- •4.1.3.5. СекцииCdata
- •4.1.3.6. Ссылки
- •4.1.3.7. Комментарии
- •4.1.4. Пространства именXml
4.1.2. Основные классы задач xml
4.1.2.1. Создание новых языков
Фактически XML– это метаязык, т.е. язык, который описывает другие языки. Строго говоря,XML– это набор синтаксических правил, для формирования документовXML.
Таким образом, при описании логической схемы документа, создается новый язык со своим синтаксисом и семантикой. Достоинством XML в данном случае является стандартность этого синтаксиса, поскольку заботиться о создании модуля для синтаксического разбора уже не нужно.
Что же касается семантики языка, то во многих случаях древовидные структуры XMLочень хорошо подходят для ее описания, будь это язык формата документа или язык программирования.
В настоящее время существует множество языков, созданных на основе XML. Наиболее известными из них являются:
WML(WirelessMarkupLanguage) – язык разметки для беспроводных устройств, основной формат данных для беспроводного протоколаWAP(WirelessApplicationProtocol);
XHTML–совместимая с XML версия языка гипертекстовой разметки документов;
SOAP(SimpleObjectAccessProtocol) – протокол XML для обмена информацией в распределенных системах;
RDF (Resource Description Framework) – система описания ресурсов;
XML/EDI(XML/ElectronicDataInterchange) – язык XML для представления сообщений электронного документооборота в системах электронной коммерции;
OML(OntologyMarkupLanguage) – язык для описания онтологии и тезаурусов;
VoxML(VoiceMarkupLanguage) – язык разметки для голосовых приложений;
MathML(MathematicalMarkupLanguage) – язык для описания математических выражений;
CML(ChemicalMarkupLanguage) – язык для описания химических формул;
UML exchange Format – выражения XML для языка UML (Unified Modeling Language);
CDF(ChannelDescriptionFormat) – язык для описания данных для автоматической доставки клиенту (технология push-каналов).
Несмотря на то, что XML– это язык разметки, он вполне подходит для создания языков программирования. Примером такого языка являетсяXSLT, который будет рассмотрен далее. Существуют и другие языки, например, версия XML для функционального языкаLisp, языкHaXMLи другие.
4.1.2.2. Хранение данных
Язык XML позволяет также осуществлять контроль корректности данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными приложениями, работающими в одной системе.
Практические всегда, когда приложение должно хранить данные во внешних файлах, неизбежны два процесса: анализ (синтаксический разбор) при считывании данных и сериализация (создание физического выражения состояния объектов) при сохранении (рис. 4.1.1).

Рис. 4.1.1. Стандартная схема хранения данных
Использование XMLв приведенной выше схеме как формата хранения позволяет использовать вместо анализатора и сериализатора стандартные инструментыXML, а не специальные программы. Кроме того, поскольку сохраняемый в этом случае документ имеет форматXML, приложение становится совершенно открытым для интеграции с другими системами, ведь обмен данными может быть осуществлен без каких-либо специальных конверторов (рис. 4.1.2).

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