Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10 XML (TBD).doc
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
223.74 Кб
Скачать

11

Лабораторная работа № 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

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