(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

XML технологии и средства разработки Gupta Team Developer: XML и CTD. Часть 1

С.А. Большаков

Оглавление

В статье, которая состоит из двух частей, рассмотрены основные понятия и возможности технологий XML при построении информационных систем (часть 1) и возможности использования их при программировании в Gupta Team Developer (часть 2). Технологии XML обеспечивают высокий уровень универсальности при обмене данными между приложениями, при хранении данных в БД и универсализации доступа к данным в WEB-приложениях.

Введение

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

В настоящее время на базе XML (E x tensible M arkup L anguage) появилось много новейших технологий, число которых постоянно растет. Некоторые их них мы рассмотрим ниже. Не-смотря на значительную простоту XML обеспечивает высокую универсальность - в простоте гениальность новых решений.

Основы и понятия XML

На рисунке 1 показаны основные возможности XML и основные программные компоненты, участвующие процессе обработки XML информации.

Рис. 1 Обобщенный взгляд на XML технологии.

Основные технологические процессы выделены красным цветом: обработка данных, обмен данными, хранение данными, проверка данных, преобразование данных и их генерирование. На рисунке выделены разновидности программных систем (синим цветом), участвующих в обработке данных: программные приложения, СУБД XML, XSL процессоры и WEB сервер-клиент компоненты. Данные на рисунке представлены (серые прямоугольники) в формате XML. Они необходимы: для непосредственного хранения (XML документ), для описания структур данных (XML схемы) и для преобразования данных (XSL правила-программы).

Особенности и возможности XML

  1. XML позволяет описывать структурированные данные. XML - язык описания данных. (Можно описывать все традиционные структуры данных: таблицы, массивы, вложенные структуры, деревья, списки, сети и т.д.)
  2. XML - поддерживается общедоступными СОМ и АХ объектами, интегрируемыми в опе-рационную систему и Интернет. СОМ XML позволяет генерировать, проверять, считы-вать, преобразовывать данные. XML поддерживает UNICODE формат данных. XML - это независимое от платформ средство описания данных. Имеются сопровождаемые ком-поненты XML (SDK XML), которые обеспечивают обработку данных практически в лю-бых языках программирования: C++, JAVA, Jscript, VBScript и др.
  3. Язык XML - внешне похож на формат HTML. Имеет тэги и атрибуты. XML - текстовый формат представления данных, однако, они не предназначены для чтения, а для перера-ботки, хранения и представления данных в WEB.
  4. XML - это семейство технологий, которые постоянно развиваются:
    4.1. XML 1,0 базовый стандарт языка,
    4.2. XLINK - описывает правила добавления ссылок (URL) в XML документы,
    4.3. XPOINTER - описывает правила создания графических ссылок (URL),
    4.4. CSS - работает также как и для HTML,
    4.5. XSL и XSLT - это продвинутые языки преобразования и обработки XML докумен-тов,
    4.6. DOM - это стандартный объект (функции и методы) позволяющие про граммировать все действия по работе с XML документами.
    4.7. XML Schemas (1/2) - позволяет описывать свои подмножества языка XML и прове-рят ь правильность их построения
    4.8. XML Query - язык доступа к данным на основе запросов и многие другие.
  5. XML с одной стороны новый язык (предложен в 1996 г.), но не совсем, основы этого язы-ка закладывались еще в 80-х в ISO стандартах (SQML - предшественник HTML).
  6. XML позволяет преобразовать формат данных HTML в формате XHTML.
  7. XML - обеспечивает модульность представления и обработки данных : доступны меха-низмы пространства имен (namespace), комбинации нескольких подмножеств языков (XML Schemas), нескольких XSL обработчиков, RDF (Resource Description Framework) - общих стандартов группы W3C.
  8. XML не лицензируется, не зависит от платформ оборудования и ОС, достаточно просто сопровождается. COM обработчики интегрированы в IE 5.0 и выше.
  9. XML- служит основой построения XML ориентированных БД (и объектно-ориентированных БД), взаимодействие с которыми основано на базе языка XML Query.
  10. XML может служить основой для создания новых технологий, в том числе и для обмена информацией между приложениями, построения WEB и унификации форматов данных в Интернет.

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

Язык XML

Язык XML, в самом общем виде, - это набор простых правил для описания вложенных тек-стовых структур данных. Понятие документа: документ это совокупность элементов. Сам документ является элементом. Элемент может иметь произвольное число атрибутов (свойств). Атрибуты имеют значения и тип. На рисунке, расположенном ниже, представлен вид простейшего XML документа. Он состоит из заголовка и текста документа, включающе-го другие элементы и их атрибуты (в примере элементы : article, part, picture; атрибуты : version, file). Кроме того, в документе может располагаться обычный текст.

Рис. 2. Пример простого XML документа.

Описание элементов обязательно включает ключевые тэги (заголовки) начальный и конеч-ный, которые должны совпадать по наименованию:

<Article>…</Article>

В XML документе должен быть обязательно главный элемент (root - article). Допускается элемент без содержимого:

<Article/>

Элементы могут содержать другие элементы, которые могут располагаться в произвольном порядке, но писаны по правилам:

<Article><part> Текст1 </part>
<article> Текст2 <part/></article>
<part> Текст3 </part>
</Article>

Элементы могут иметь атрибуты, которые задают уникальные свойства элементов и могут быть получены при обработке документа:

<имя элемента атрибут = "значение">
имя элемента>

Атрибутам присваиваются значения. Помимо атрибутов в элементы может быть включен обычный текст, например:

<article id="1"name="Статья по XML">
Текст статьи по XML
</article>

Для обработки локализованного документа в заголовке указывается способ кодировки текста и элементов, например: (encoding для русского языка - 1251):

<?xml version="1.0"encoding="Windows-1251"?>

В этом случае документ может выглядеть так:

<статья> <Часть> Текст1
<Рисунок> Текст3 Рисунок>
Часть>
<статья> Текст2 <Часть/>статья>
<Часть> Текст3 Часть>
статья>

Структуры данных, описываемых в XML

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

Рис. 3. Представление структур данных в виде дерева.

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

<Узел id ="K" Link ="1"></Узел>
<Связь from ="1" to ="2"/>, на рисунке ниже проиллюстрирована такая сеть.

Рис. 4. Представление сетевых структур в XML.

Проверка правильности документа в XML

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

Рис. 5. Простая проверка документа XML.

Для описания XML документа могут быть заданы дополнительные правила: последователь-ность и количество вложенных элементов, перечень атрибутов и их допустимые значения, значения по умолчанию, возможность задания текста и другие. Такие правила описывают фактически новый язык, его синтаксис и семантику. Правила описываются в виде правил ре-курсивных грамматик (правосторонних). Эти правила могут быть заданы: в виде правил DTD - Documents Type Definitions (на базовом уровне) или в виде схем описания данных XML Schemas (на логическом уровне). На рисунке ниже схематично показана проверка документа подмножества XML языка, причем и DTD и схемы могут быть встроенные или описаны в отдельном XML документе.


Рис. 6. Проверка документа XML на основе DTD или Schemas

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

<!DOCTYPE article[<!ELEMENT article (author, title, part*)>...
<!ATTLIST article
author CDATA #IMPLIED> ...]>

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

<?xml version="1.0" encoding="Windows-1251"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<AttributeType name="id" required="no" dt:type="string"/>
<ElementType name="title" dt:type="string">
</ElementType>
<ElementType name="part">
<attribute type="id"/> <element type="title"/>
</ElementType>
<Element Type name="picture" dt:type="string"></ElementType>
<ElementType name="article">
<element type="part"/>
<element type="picture"/>
</ElementType>
<ElementType name="Book">
<element type="article"/></ElementType>
</Schema>

В данной схеме документа определяется главный документ Book, который содержит элемен-ты article. Элемент article содержит элементы part и picture. Для элемента part описан ат-рибут id, которой должен быть типа string и является необязательным. Если при проверке на основе схем или DTD выявлена ошибка, то в программу или броузер сообщается и ее типе, месте и коде. Использование схем правил, позволяет задать практически любую грамматику, которая поддается формализованной обработке. Отмечу, что и схемы данных можно постро-ить в программе, т.е. мы получаем возможность генерации схемы языка и выполнения авто-матизированной синтаксическую и семантическую проверку документов XML на их основе.

Преобразование (трансформация) документов XML на базе XSL

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

Рис. 7. Преобразование документа на базе XSL.

Идея использования XSL (E x tensible S tyle L anguage) сходна с идеей использования CSS для HTML, но эта технология значительно продвинута.

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

Правила-шаблоны XSL разделяются на следующие группы:

  • XSLT элементы (условные, циклические, выборки, копирования и др.)
  • XSLT функции (информация об элементах, списках, атрибутах и т.д.)
  • XPath функции (символьные, цифровые, булевские и т.д.)

XSL это удобный унифицированный способ задания процедур обработки XML документа без программирования.

В качестве XSLT элементов могут использоваться: apply-imports, apply-templates, copy, for-each, if, when, text, for-each, include, import, template и многие другие. Их набор зависит от ис-пользуемого процессора XSLT. В IE 5.0 такой процессор XSLT встроен.

В качестве примера рассмотрим простейшее преобразования документа XML в таблицу формата HTML. Исходным документом XML является документ, представленный на рисун-ке ниже. В этом документе описывается каталог (catalog) книг (book), каждая из которых со-держит: автора, заголовок, жанр, цену, дату публикации и описание (соответственно: author, title, genre, price, publish_date и description). Каждой книге присвоен уникальный иденти-фикатор с помощью атрибута id. В данном каталоге показано две книги. Для простоты де-монстрации не дается схема описания правил построения каталога. Для обработки данного документа XML предусмотрен файл шаблонов XSL, на который ссылается исходный доку-мент (href="xslsem.xsl"). Этот документ приведен на следующем рисунке.

Рис. 8. Исходный файл XML для преобразования XSL

Отметим, что тип преобразования задан: type="text/xsl". Кодировка encoding (1251) опреде-ляет возможность использования русского алфавита для документа.

Рис. 9. Файл правил преобразования XSL (xslsem.xsl).

В этом файле задан метод преобразования HTML документ (output metod="html"). Для ка-ждой книги (правило: for-each select ="//book") строится строка таблицы HTML, в которую включаются элементы книги (author, title, price) и вычисляемая переменная (variable) - bookCount. Заголовок таблицы оформляется обычным HTML текстом, который содержит ос-новные реквизиты выборки (Author, Title, price и Count). Результат работы XSLT процессора представлен на следующем рисунке, а на последнем рисунке показана таблица уже в броузе-ре.

Рис. 10. Результат трансформации XSLT

Рис. 11. Результат трансформации XSL в броузере

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

Во второй части статьи мы рассмотрим основы SDK XML и вопросы использования XML технологий в среде Centura Team Developer.

Часть 2



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Gupta/Centura (Gupta Technologies) »
Написать редактору 
 Рекомендовать » Дата публикации: 02.07.2002 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
NauDoc Enterprise 10 рабочих мест
Quest Software. SQL Navigator for Oracle
Allround Automation PL/SQL Developer Single user license
SAP® Crystal Presentation Design 2016 WIN INTL NUL
TeeBI for RAD Studio Suite with source code single license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
СУБД Oracle "с нуля"
Мир OLAP и Business Intelligence: новости, статьи, обзоры
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Ищу программиста для написания программы (76)
Ищу программиста ,владеющего Вижуал Бэйсик и программированием в Экселе, для написания...
 
Симулятор рулетки без графики. Обязятельно на VB6, Требуется сделать симулятор игры в рулетку по опр (4)
Здравствуйте! Задача такая: Требуется сделать симулятор игры в рулетку по определённой...
 
Realme Narzo 50A (1)
Посмотрела вчера характеристики нового смартфона Realme Narzo 50A...
 
Онлайн покер (6)
Подскажите, пожалуйста, где можно научиться играть в покер в интернете и зарабатывать на этом?
 
Опытная и сработанная команда разработчиков ищет новые проекты (4)
Опытная и сработанная команда разработчиков ищет новые проекты. Работаем вместе уже почти 10...
 
 
 



    
rambler's top100 Rambler's Top100