Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 13.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
392.19 Кб
Скачать

3.4. Xml как средство обмена данными

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

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

Кроме того, с помощью XML можно упростить доступ к данным, хранимым в базах данных. Например, для доступа к данным персональных БД или таблич­ного процессора Excel пользователю требуется установка соответствующих ин­струментальных средств. Вместо этого можно создать активные серверные стра­ницы (ASP) или сценарии на языке JScript или VBScript, которые будут извлекать данные из БД и помещать их в документ XML. В дальнейшем информация из полученного таким образом документа XML может использоваться в других приложениях или отображаться на Web-страницах. Таким образом, полученные в результате данные становятся доступными для всех пользователей, имеющих браузер, независимо от наличия СУБД или табличного процессора.

Документы XML могут использоваться как на стороне клиента, так и на сторо­не сервера. Применение XML-документов на стороне клиента в настоящее вре­мя сдерживается в основном отсутствием соответствующих инструментальных средств: не все браузеры позволяют просматривать и работать с документами XML, хотя в большинстве современных продуктов такая возможность уже име­ется. Как уже говорилось, к ним относятся браузеры Internet Explorer, начиная с версии 4.0, и Netscape Navigator 5.0 и выше.

При работе с документами XML на стороне сервера используются языковые средства, обычно применяемые для расширения возможностей сервера, такие как Java и JScript. Отметим еще, что последние версии современных систем программирования, ориентированных на разработку приложений Web, также поддерживают средства для создания и обработки документов XML. В частно­сти, такие средства имеются в составе JBuilder 4.0 и Delphi 6.

4. Программа xml Mapper

Для работы с документами XML в составе инструментальных средств Delphi начиная с версии 6 появилась новая программа XML Mapper (XML-преобразователь). Она предна­значена для задания отображения (определения соответствия) между XML-документами и пакетами данных, используемыми клиентскими наборами дан­ных. Эту программу можно вызвать из среды Delphi командой Tools/XML Mapper или запустив файла xmlmapper.exe, находящийся в каталоге BIN глав­ного каталога Delphi, а также через главное меню Windows, выбрав команду Program/Borland Delphi 7/XML Mapper.

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

  • существующих XML-схемы или документа на клиентский набор данных;

  • существующего пакета данных на новую XML-схему;

  • существующей XML-схемы на существующий пакет данных.

Заданное отображение можно сохранить в трансформационном файле (файле соответствия) с расширением XTR. Обычно трансформационные файлы создают в паре: для прямого и обратного преобразования. Полученные с помощью про­граммы XML Mapper трансформационные файлы могут использоваться компо­нентами типа TXMLTransform, TXMLTransformProvider и TXMLTransformClient для выполнения преобразования данных в приложении.

Окно программы XML Mapper состоит из трех панелей (рис. 13.4):

  • панель документа — отображает XML-документ и 3 варианта его схем;

  • панель отображения — задает соответствие между XML-документом и паке­том данных;

  • панель пакета данных — отображает метаданные пакета данных.

Панель документа содержит две вкладки, позволяющие просматривать содер­жимое открытого (загруженного) XML-документа в виде дерева элементов (вкладка Document View) и в виде схем DTD, XDR или XSD (вкладка Schema View). Открытие документа выполняется командой File/Open главного меню программы или командой Open XML Document контекстного меню панели до­кумента.

Замечание

Файлы с расширениями DTD (Data Type Definition), XDR (reduced XMLData) и XSD (XML schema) служат для хранения соответствующих вариантов схем XML-документа, отображаемых с помощью вкладки Schema View.

Рис. 13.4. Окно программы XML Mapper

Панель пакета данных включает в себя две вкладки, позволяющие просматри­вать содержимое текущего пакета данных в виде дерева полей (вкладка Field View) и структуры (вкладка Datapacket View). Открытие пакета данных выполняется командой File/Open главного меню программы или командой Open Datapacket контекстного меню панели пакета данных. Файл пакета данных име­ет расширение XML, кроме того, можно открывать пакет данных, сохраненный в двоичном формате (файл с расширением CDS).

Панель отображения определяет соответствие между элементами XML-доку­мента и полями пакета данных. Эта панель содержит две вкладки: Node Pro­perties и Mapping.

Вкладка Node Properties позволяет просматривать и изменять свойства элемента (Node), выбранного в открытом XML-документе. Свойства элементов открытого документа можно сохранить в файле с расширением XRP. Сохранение свойств выполняется командой File/Save/Repository главного меню программы или командой Save Repository контекстного меню панели отображения. Впоследст­вии сохраненные свойства элементов ХМL-документа можно загрузить из файла XRP.

Свойства выбранного элемента отображаются в таблице, содержащей названия свойств (столбец Properties) и значения свойств (столбец Values). Отметим сле­дующие свойства:

  • Attribute Name — имя элемента;

  • Mapped Name — имя поля в пакете данных, которому соответствует элемент;

  • Data Type — тип данных, например, String, Float или Integer;

  • Data Format — формат данных;

  • Max Length — максимальная длина (для строковых данных);

  • Value Required — требование обязательности значения;

  • In Primary Key — признак включения поля в состав первичного ключа паке­та данных;

  • Default value — значение по умолчанию;

  • Sample Value — пример значения.

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

На вкладке Mapping находится таблица, отображающая соответствие между эле­ментами XML-документа (столбец Selected Nodes) и полями пакета данных (столбец Selected Fields). Добавление нового элемента к таблице выполняется двойным щелчком на нем или командой Select контекстного меню элемента. Команда Select All включает в таблицу все элементы документа. Под таблицей соответствия расположен Навигатор, который позволяет перемещаться по эле­ментам, а также удалять элементы из таблицы.

Создание пакета данных из XML-документа и, наоборот, получение XML-до­кумента из пакета данных выполняется, соответственно, командами Create/ Datapacket from XML и Create/XML from Datapacket главного меню или коман­дами Create Datapacket from XML и Create XML from Datapacket контекстных меню панелей документа и пакета данных. Ниже приводятся файл Currencies.xml XML-документа и созданный на его основе файл пакета данных CurrenciesDatapacket.xml.

Файл Currencies.xml

<?xml version="l.О" standalone="yes"?>

<tr>

<td id="l" abbr="CHF" country="Swiss"/>

<td id="2" abbr="RUB" country="Russia"/>

<td id="3" abbr="GBP" country="Great Britain"/>

<td id="4" abbr="USD" country="USA"/>

</tr>

Файл CurrenciesDatapacket.xml

<?xml version="1.0" standalone="yes"?>

<DATAPACKET Version="2.0">

<METADATA>

<FIELDS>

<FIELD attrname="id" fieldtype="string" WIDTH="l"/>

<FIELD attrname="abbr" fieldtype="string" WIDTH="3"/>

<FIELD attrname="country" fieldtype="string" WIDTH="13"/>

</FIELDS>

<PARAMS/>

</METADATA>

<ROWDATA/>

</DATAPACKET>

Отображение (трансформация) XML-документа на пакет данных и обратное преобразование выполняется по команде Create/Transformation главного меню или по команде Create Transformation контекстного меню панели отображения. Преобразование также можно выполнить нажатием кнопки Create and Test Transformation, при этом направление преобразования задают переключатели группы Transform Direction. Созданное отображение можно сохранить в транс­формационном файле командой File/Save/Transformation главного меню или командой Save Transformation контекстного меню панели отображения.

23

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]