Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Часть №1. Разработка объектной модели XML-документа. Работа с XML-документами, как источниками данных



Скопируйте с ftp-сервера дистрибутив eclipse enterprise edition – среды разработки web-приложений.

Путь: ftp://10.12.53.159/ТБД/install/

Распакуйте файл eclipse-jee-galileo-win32 (3.5).zip в папку C:\temp

Все xml, xsl, xsd документы можно создавать либо в блокноте, либо в среде Eclipse (необходимо создать Static Web Project).

Формирование объектной модели XML-документа

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

1.1.2Разработайте XML-представление для экземпляра выбранного выходного документа (создайте XML-файл).

1.1.3Разработайте ограничения на структуру документов данного класса в виде XML Schema (создайте XSD-файл) и модифицируйте XML-файл, добавив в него ссылку на созданную схему.

 

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

 

Преобразование документов XML в документы HTML средствами XSLT

1.2.1 Разработайте XSLT-преобразователь (XSL-файл) для визуализации разработанного XML-документа.

 

1.2.2 Подключите созданный XSLT-преобразователь к разработанному XML-документу.

 

1.2.3Убедитесь, что визуализация осуществляется корректно.

 

Часть №2. Формирование XML на основе реляционных данных с использованием функций языка SQL. Хранение XML-документов в базе данных

 

Запустите утилиту SqlPlus и Подключитесь к БД webtest под управлением СУБД Oracle 10g. Имя пользователя: «SCOTT», пароль: «tiger».

Выполните настройку среды командой:

set long 2000

set pagesize 100

set linesize 100

 

Импорт схемы данных.

2.1.1 Создайте нового пользователя БД, который будет владельцем импортируемой схемы данных. В качестве табличного пространства по-умолчанию укажите USERS, в качестве временного табличного пространства – TEMP.

create userимя_пользователя identified byпароль

default tablespaceusers

temporary tablespacetemp

2.1.2Назначьте созданному пользователю роль CONNECT (соответствует системной привилегии create session), роль RESOURCE (включает системные привилегии создания различных объектов БД), системную привилегию UNLIMITED TABLESPACE, роль CTXAPP (включает объектные привилегии, необходимые для работы с компонентом Oracle Text) и системную привилегию ALTER SESSION (необходима для регистрации в БД документов XML Schema) .



grant connect toимя_пользователя

/

grant resource toимя_пользователя

/

grantctxapp toимя_пользователя

/

grant unlimited tablespace toимя_пользователя

/

grant alter session toимя_пользователя

 

2.1.3Соединитесь с БД под именем созданного пользователя и импортируёте в БД webtest таблицы схемы данных, разработанной для выбранной предметной области.

 

Преобразование данных из табличной реляционной формы в XMLTYPE (формирование XML-документов на основе реляционных данных)

2.2.1 Заполните созданные таблицы данными, необходимыми для формирования выходного документа (используйте данные из рассмотренного Вами экземпляра выходного документа).

2.2.1 Сгенерируйте XML-документ на основе запроса к реляционным даннымс использованием функций языка SQL/XML. Документ должен иметь структуру, предложенную в пункте 1.1.2. Также сгенерированный XML-документ должен иметь пролог; описание документа (XML Schema), которое будет использовано для его валидации; описание XSLT-преобразователя, используемого для его визуализации.

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

 

Сохранение XML-документов в реляционной БД.

Зарегистрируйте в БД документ XML Schema, разработанный в пункте 1.1.3.

Для работы с документами XML Schema в СУБД Oracle используется опция XDB (в частности – пакет dbms_xmlschema). Регистрация осуществляется процедурой registerSchema, как показано ниже.

Begin

dbms_xmlschema.registerSchema(

'имя_схемы',

'<?xml version="1.0" encoding="UTF-8"?>



<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

elementFormDefault="qualified">

 

<xsd:element name="DEPTNO" type="xsd:string"/>

<xsd:element name="DNAME" type="xsd:string"/>

<xsd:element name="LOC" type="xsd:string"/>

<xsd:element name="DEPT" type="dept"/>

<xsd:complexType name="dept">

<xsd:sequence>

<xsd:element ref="DEPTNO" minOccurs="1" maxOccurs="1"/>

<xsd:element ref="DNAME" minOccurs="1" maxOccurs="1"/>

<xsd:element ref="LOC" minOccurs="1" maxOccurs="1"/>

</xsd:sequence>

</xsd:complexType>

<xsd:element name="DEPTS" type="depts"/>

<xsd:complexType name="depts">

<xsd:sequence>

<xsd:element ref="DEPT" minOccurs="1" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>');

end;

2.3.2 Добавьте в Вашу схему данных таблицу со столбцом XMLType. При создании таблицы следует указать опции типа данных XMLType (XMLSHEMA – имя зарегистрированного документа XML Schema; ELEMENT – имя корневого тега XML-документа, атрибутом которого является имя документа XML Schema).

 

CREATE TABLEимя_таблицы (имя_столбца1 number, имя_столбца2 XmlType)

XMLTYPE имя_столбца2 STORE AS OBJECTRELATIONAL

XMLSCHEMA "имя_схемы"

ELEMENT "имя_корневого_тега";

 

2.3.3 Сформируйте выходной XML-документ и сохраните его в созданной таблице с использованием команды “insert into … select ..”

 

insert intot

select1 "id", "test" from(

SELECTXMLRoot(

XMLCONCAT(

XMLPI(NAME"xml-stylesheet", 'type="text/xsl" href="dept.xsl"'),

XMLElement("DEPTS",

XMLAttributes('http://www.w3.org/2001/XMLSchema-instance' AS"xmlns:xsi",

'dept.xsd' AS"xsi:noNamespaceSchemaLocation"),

XMLAGG(

XMLELEMENT("DEPT", XMLFOREST(deptno AS"DEPTNO", dname AS"DNAME",

loc as"LOC"))

)

)

), VERSION '1.0') as"test"

FROMdept

)

 

Удаление зарегистрированного документа XML Schema

Begin

dbms_xmlschema.deleteSchema('имя_схемы',dbms_xmlschema.delete_cascade_force);

end;

 


Эта страница нарушает авторские права

allrefrs.ru - 2017 год. Все права принадлежат их авторам!