- •Использование технологии xml при работе с базами данных общие сведения Часть №1. Разработка объектной модели xml-документа. Работа с xml-документами, как источниками данных.
- •Часть №2. Формирование xml на основе реляционных данных с использованием функций языка sql/xml. Хранение xml-документов в базе данных.
- •Порядок выполнения работы
- •Часть №1. Разработка объектной модели xml-документа. Работа с xml-документами, как источниками данных.
- •1.1. Формирование объектной модели xml-документа
- •1.2 Преобразование документов xml в документы html средствами xslt
- •Часть №2. Формирование xml на основе реляционных данных с использованием функций языка sql. Хранение xml-документов в базе данных
- •Импорт схемы данных.
- •2.2 Преобразование данных из табличной реляционной формы в xmltype (формирование xml-документов на основе реляционных данных)
- •2.3. Сохранение xml-документов в реляционной бд.
- •2.3.1 Зарегистрируйте в бд документ xml Schema, разработанный в пункте 1.1.3.
- •2.3.3 Сформируйте выходной xml-документ и сохраните его в созданной таблице с использованием команды “insert into … select ..”
- •Часть №3. Использование Oracle Text как средства полнотекстового поиска. Индексация xml-документов. Разбиение их на секции.
- •Содержание отчета
Лабораторная работа № 4
Использование технологии xml при работе с базами данных общие сведения Часть №1. Разработка объектной модели xml-документа. Работа с xml-документами, как источниками данных.
ПРИМЕРЫ ВЫПОЛНЕНИЯ ЗАДАНИЙ
а) Пример XML-документа, содержащего данные о подразделениях организации.
dept.xml
<?xml version="1.0" encoding="windows-1251" ?>
<DEPTS>
<DEPT>
<DEPTNO>10</DEPTNO>
<DNAME>ACCOUNTING</DNAME>
<LOC>NEW YORK</LOC>
</DEPT>
<DEPT>
<DEPTNO>20</DEPTNO>
<DNAME>RESEARCH</DNAME>
<LOC>DALLAS</LOC>
</DEPT>
<DEPT>
<DEPTNO>30</DEPTNO>
<DNAME>SALES</DNAME>
<LOC>CHICAGO</LOC>
</DEPT>
<DEPT>
<DEPTNO>40</DEPTNO>
<DNAME>OPERATIONS</DNAME>
<LOC>BOSTON</LOC>
</DEPT>
</DEPTS>
б) Пример документа XML Schema, описывающего ограничения на структуру XML-документа.
dept.xsd
<?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>
в) Подключение XML Schema к XML-документу.
dept.xml
<?xml version="1.0" encoding="windows-1251" ?>
<DEPTS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="dept.xsd">
<DEPT>
<DEPTNO>10</DEPTNO>
...
г) Пример XSL-преобразователя данного XML-документа в HTML-страницу.
dept.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<body>
<h1 align="center">Dept list</h1>
<xsl:apply-templates />
</body>
</HTML>
</xsl:template>
<xsl:template match="DEPTS">
<table align="center" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<b>DEPTNO</b>
</td>
<td align="center">
<b>DNAME</b>
</td>
<td align="center">
<b>LOC</b>
</td>
</tr>
<xsl:apply-templates select="DEPT" />
</table>
</xsl:template>
<xsl:template match="DEPT">
<tr>
<xsl:apply-templates />
</tr>
</xsl:template>
<xsl:template match="DEPTNO">
<td>
<xsl:apply-templates />
</td>
</xsl:template>
<xsl:template match="DNAME">
<td>
<xsl:apply-templates />
</td>
</xsl:template>
<xsl:template match="LOC">
<td>
<xsl:apply-templates />
</td>
</xsl:template>
</xsl:stylesheet>
д) Объявление XSL-преобразователя в XML-документе.
dept.xml
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="depts.xsl"?>
<DEPTS>
<DEPT>
<DEPTNO>10</DEPTNO>
<DNAME>ACCOUNTING</DNAME>
<LOC>NEW YORK</LOC>
</DEPT>
...
е) Результат визуализации XML-документа.
dept.xml