
Informatika / Palaguta_K.O._Movna_model_suchasnogo_informatsiynogo_prostorumetodichkaMetod._vkaz._ta_zavd2011
.pdf5)Яке розширення повинен мати файл з XML – документом?
a)css
b)xml
c)dtd
d)htm
6)Які варіанти оголошення документа коректні?
a)<xml version="1.0" encoding="UTF-8">
b)<?xml version="1.1" encoding="UTF-8"?>
c)<?xml version="1.0"?>
7)Які теги для опису елементів документа коректні?
a)<example 1>
b)<студенти>
c)<example />
d)<example code=”32”>
e)<xml_example>
8)Який XML – документ називається правильним?
a)Той, який відповідає DTD
b)Той, який відповідає синтаксичним правилам побудування XML – документів
c)Той, який перевірено на валідність за допомогою XML - редактора
9)Шаблон документа DTD використовують для …
a)перевірки документа на відповідність структурі, описаній у DTD
b)визначення структури документа для його обробки різними програмами
c)перевірки валідності документа
d)визначення типів даних елементів для роботи з документом браузера
10)Який індикатор вкладень потрібно визначити у DTD, щоб зазначити, що елемент є необов’язковим, може зустрічатися в документі довільне число раз?
a)+
b)?
c)*
11)Шаблон документа описується за допомогою тегу …
a)<!DOCTYPE>
b)<!ELEMENT>
c)<!ATLIST>
12)Які типи даних елементів можна визначити у DTD?
a)#CPDATA
b)CDATA
c)ANY
d)REQUIRED
13)Які значення атрибутів за замовчуванням можна визначати у DTD?
a)#FIXED
b)#CPDATA
41
c)#IMPLIED
d)#REQUIRED
e)#EMPTY
14)Які теги підключення файлу зовнішнього DTD коректні?
a)<!DOCTYPE students SYSTEM "file.xml">
b)<!DOCTYPE students SYSTEM "file.dtd">
c)<!DOCTYPE students href="file.dtd">
15)З якою метою використовуються таблиці стилів CSS?
a)Для демонстрації структури XML – документа
b)Для демонстрації умісту текстових вузлів XML – документа
c)Для демонстрації структури і вмісту XML – документа
42

Лабораторна робота №4
Тема: Розробка XML – схем.
Мета: навчитись створювати схеми XML – документів стандарту XML - Schema, перевіряти XML – документи на відповідність схемі.
Програмне забезпечення: операційна система Windows, браузер Internet Explorer, програма XML – Validator (http://xmltools.corefiling.com/schemaValidate).
Завдання
1.Виконати практичний приклад створення схеми XML – документа .
2.Виконати практичну частину лабораторної роботи у відповідності до індивідуального варіанту.
3.Оформити звіт по лабораторній роботі, у якому повинні бути такі складові:
титульний лист;
роздрукована схема XML – документа.
опис процесу перевірки XML – документа на відповідність схемі.
4.Підготуватись до тестування за темою з використанням тесту - прикладу.
Приклад створення схеми XML – документа
1.У середовищі програми Блокнот введіть уміст XML – схеми документа employees.xml:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="employees" type="stemployees" />
<xsd:complexType name="stemployees" > <xsd:sequence>
<xsd:element name="employee" type="stemployee" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="stemployee" > <xsd:sequence>
<xsd:element name="name" type="stname" /> <xsd:element name="post" type="xsd:string"/> <xsd:element name="education" type="xsd:string"/> <xsd:element name="salary" type="xsd:string"/> <xsd:element name="children" type="xsd:string"/> </xsd:sequence>
<xsd:attribute name="sheetnumber" type="xsd:string"/> </xsd:complexType>
<xsd:complexType name="stname" >
43

<xsd:sequence>
<xsd:element name="lname" type="xsd:string"/> <xsd:element name="fname" type="xsd:string"/> <xsd:element name="mname" type="xsd:string"/> </xsd:sequence>
</xsd:complexType>
</xsd:schema>
Коментар:
1.1.XML – схема є правильно оформленим XML – документом, тому вона починається з оголошення XML – документа <?xml version="1.0"?>.
1.2.Кореневим елементом документа є елемент <xsd:schema>, у якому визначається простір імен
xmlns:xsd="http://www.w3.org/2001/XMLSchema".
1.3.Далі у схемі описується кореневий елемент документа employees.xml employees, для якого визначено тип даних "stemployees".
1.4."stemployees" – це комплексний тип даних, який включає елементи employee, що в свою чергу мають тип даних "stemployee" і для яких визначено мінімальну кількість появ 1 (minOccurs="1") , максимальне чис-
ло появ не обмежено (maxOccurs="unbounded").
1.5.Комплексний тип даних "stemployee" описує елементи, підпорядковані елементові employee, а також атрибут елемента employee "sheetnumber". Елементові employee підпорядковані такі елементи:
name – тип даних "stname";
post – тип даних рядковий "xsd:string";
education – тип даних рядковий "xsd:string";
salary – тип даних рядковий "xsd:string";
children – тип даних рядковий "xsd:string".
Атрибут "sheetnumber" також описано як рядкові дані.
1.6.Комплексний тип даних "stname" описує вкладені елементи елемента name:
lname - тип даних рядковий "xsd:string";
fname - тип даних рядковий "xsd:string";
mname - тип даних рядковий "xsd:string".
2.Збережіть документ у тій самій папці, де знаходиться документ employees.xml, з ім’ям MySchema.xsd.
3.Розкрийте документ employees.xml у програмі Блокнот, додайте до кореневого елемента employees визначеня простору імен і посилання на XML
– схему, збережіть документ.
<?xml version="1.0" encoding="UTF-8"?>
<employees xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="MySchema.xsd">
<employee sheetnumber="132"> <name><lname>Петренко</lname>
44

<fname>Максим</fname> <mname>Іванович</mname></name> <post>директор</post>
. . .
4.Розчиніть документ employees.xml у браузері ІЕ для синтаксичної перевірки.
5.Для перевірки валідності XML – документа скористайтеся програмою
XML – Validator за адресою http://xmltools.corefiling.com/schemaValidate.
У полі XML Schema визначить файл зі схемою MySchema.xsd, у полі
XML Instance – файл з XML – документом employees.xml, натисніть на кнопці Validate, далі для виведення результатів перевірки валідності натисніть на посиланні Click here. Якщо отримано повідомлення VALID, документ відповідає схемі. У іншому випадку ознайомтесь з лістингом помилок, виправте їх, повторіть перевірку на валідність.
6.Додайте до схеми засоби контролю умов на значення елементів XML – документа. Відредагуйте файл MySchema.xsd так:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="employees" type="stemployees" />
<xsd:complexType name="stemployees" > <xsd:sequence>
<xsd:element name="employee" type="stemployee" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="stemployee" > <xsd:sequence>
<xsd:element name="name" type="stname" /> <xsd:element name="post" type="xsd:string"/> <xsd:element name="education" type="steducation"/> <xsd:element name="salary" type="stsalary"/> <xsd:element name="children" type="xsd:integer"/> </xsd:sequence>
<xsd:attribute name="sheetnumber" type="xsd:string"/> </xsd:complexType>
<xsd:complexType name="stname" > <xsd:sequence>
<xsd:element name="lname" type="xsd:string"/> <xsd:element name="fname" type="xsd:string"/> <xsd:element name="mname" type="xsd:string"/> </xsd:sequence>
</xsd:complexType>
45

<xsd:simpleType name="steducation" > <xsd:restriction base="xsd:string"> <xsd:enumeration value="вища"/> <xsd:enumeration value="середня"/> </xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="stsalary" > <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="800"/> <xsd:maxInclusive value="20000"/> </xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Коментар:
6.1.У схемі тепер для елемента education визначено тип даних "steducation". Тип даних "steducation" описано як простий тип даних (xsd:simpleType). Всередині опису типу "steducation" визначено за допомогою тегів
<xsd:restriction> і <xsd:enumeration>, що дані типу "steducation" (зокрема елемент education) мають рядковий тип даних і можуть приймати лише одне з двох припустимих значень "вища" або "середня".
6.2.Для елемента salary визначено простий тип даних "stsalary" – числові
дані у діапазоні від 800 (<xsd:minInclusive value="800"/>) до 20000 (<xsd:maxInclusive value="20000"/>).
7.Збережіть нову редакцію схеми MySchema.xsd.
8.Перевірте документ employees.xml на відповідність схемі за допомогою програми XML – Validator. Для перевірки дії умов на значення відредагуйте документ employees.xml так, що він не відповідав схемі, повторіть перевірку. Виправте XML – документ employees.xml так, щоб він був валідним.
Індивідуальні завдання
за темою «Розробка XML – схем»
Варіант №1
Розробити схему XML – документа Drugstores.xml. У схемі передбачити такий контроль умісту елементів документа:
адреса повинна вміщувати назву міста – Донецьк; кількість працюючих повинна бути у діапазоні від 3 до 40.
Варіант №2
Розробити схему XML – документа Confectionery_factories.xml. У схемі передбачити такий контроль умісту елементів і атрибутів документа:
код ЄДРПОУ повинен вміщувати лише 8 цифр;
46
ціна продукції повинна бути у діапазоні від 5 до 200.
Варіант №3
Розробити схему XML – документа Banks.xml. У схемі передбачити такий контроль умісту елементів і атрибутів документа:
код МФО повинен вміщувати лише 6 цифр; розмір капіталу повинен знаходитися у діапазоні від 5000000 до
20000000.
Варіант №4
Розробити схему XML – документа Trading_enterprises.xml. У схемі передбачити такий контроль умісту елементів і атрибутів документа:
код ЄДРПОУ повинен вміщувати лише 8 цифр; ціна товарів повинна бути у діапазоні від 1 до 50000.
Варіант №5
Розробити схему XML – документа Travel_companies.xml. У схемі передбачити такий контроль умісту елементів документа:
адреса повинна вміщувати назву міста – Донецьк; кількість клієнтів за рік повинна бути у діапазоні від 100 до 1000000.
Варіант №6
Розробити схему XML – документа Іndustry_enterprises.xml. У схемі передбачити такий контроль умісту елементів і атрибутів документа:
код ЄДРПОУ повинен вміщувати лише 8 цифр; дохід повинен бути у діапазоні від 500000 до 10000000.
Варіант №7
Розробити схему XML – документа Cinemas.xml. У схемі передбачити такий контроль умісту елементів документа:
адреса повинна вміщувати назву міста – Донецьк; кількість відвідувачів за рік повинна бути у діапазоні від 10000 до
10000000.
Варіант №8
Розробити схему XML – документа Wholesale_trade.xml. У схемі передбачити такий контроль умісту елементів документа:
номер телефону повинен відповідати шаблону (062) ###-##-##; товарообіг повинен бути у діапазоні від 10000 до 10000000.
Варіант №9
Розробити схему XML – документа Restaurants.xml. У схемі передбачити такий контроль умісту елементів документа:
47
елемент «категорія» повинен приймати лише одне з 5-ти визначених значень;
кількість працюючих повинна бути у діапазоні від 10 до 500.
Варіант №10
Розробити схему XML – документа Sales_of_cars.xml. У схемі передбачити такий контроль умісту елементів документа:
адреса повинна вміщувати назву міста – Донецьк; ціна товарів повинна бути у діапазоні від 70000 до 10000000.
Варіант №11
Розробити схему XML – документа High_schools.xml. У схемі передбачити такий контроль умісту елементів документа:
елемент «адреса» повинен вміщувати назву міста – Донецьк; кількість викладачів повинна бути у діапазоні від 50 до 1000.
Варіант №12
Розробити схему XML – документа Libraries.xml. У схемі передбачити такий контроль умісту елементів документа:
номер телефону повинен відповідати шаблону (062) ###-##-##; кількість працюючих повинна бути у діапазоні від 5 до 200.
Приклад тесту
за темою «Розробка XML – схем»
1)Для чого у XML – документах використовуються простори імен?
a)Для забезпечення унікальності імені кожного документа
b)Для забезпечення унікальності імені кожного атрибута
c)Для забезпечення унікальності імені кожного елемента
2)Для чого використовуються XML – схеми?
a)Для синтаксичного контролю документа
b)Для контролю на відповідність документа певній структурі, правильності типів даних
c)Для контролю на відповідність документа певній структурі, правильності типів даних, умов на значення
3)Хто є розробником мови XSD (XML Schema Definition)?
a)консорціум Unicode
b)фірма Microsoft
c)консорціум W3C
4)У схемі XML – документа описуються …
a)назви елементів і атрибутів, структура документа
b)словник, структура документа, типи даних
c)назви елементів і атрибутів, типи даних
5)Яке розширення повинен мали файл з XML – схемою?
a)xsd
48
b)dtd
c)xdr
d)xml
6)Можна визначати простори імен у XML – схемах довільним чином?
a)так
b)ні
7)Які дані можна використовувати у XML – схемах?
a)Комплексний тип даних
b)xsd:boolean
c)xsd:integer
d)xsd:PCDATA
e)xsd:date
8)Для визначення переліку припустимих значень для елементів або атрибутів у XML – схемах використовується …
a)тег xsd:restriction
b)теги xsd:restriction, xsd:enumeration
c)теги xsd:restriction, xsd:pattern
9)Для чого у XML – схемах використовуються регулярні вирази?
a)Для визначення виду і формату символів елемента або атрибута за шаблоном
b)Для визначення переліку припустимих значень елемента або атрибута
c)Для визначення діапазону припустимих значень елемента або атрибута
d)Для визначення довжини елемента або атрибута
10)Які символи можна використовувати у шаблонах?
a)*
b){}
c)/A
d)\D
49
Лабораторна робота №5
Тема: Мова XPath, мова XSLT.
Мета: навчитись обирати певні вузли XML – документа з використанням мови XPath, використовувати мову XSLT для перетворення XML – документів на інші документи на прикладі HTML - документів.
Програмне забезпечення: операційна система Windows, браузер Internet Explorer, програма XPath Visualiser, плагін iexmltls.
Завдання
1.Виконати приклад застосування мов XPath, XSLT для роботи з XML - документами.
2.Виконати практичне завдання за індивідуальним варіантом.
3.Оформити звіт по лабораторній роботі, у якому повинні бути такі складові:
титульний лист;
сформовані XPath – вирази для вибору певних фрагментів XML – документа, опис перевірки процесу вибору за допомогою програми
XPath Visualiser;
роздруковані таблиці стилів – XSLT – документи;
роздруковані XML – документи у вікні браузера ІЕ;
роздрукований XML – документ у HTML – коді з підключеною таблицею стилів (достатньо один).
4.Підготуватись до тестування за темою з використанням тесту - прикладу.
Приклад використання мов XPath, XSLT
1.Для знайомства з мовою XPath (XML Path Language) завантажте програму
XPath Visualiser (розчиніть файл XPathMain.htm). Програма надає можли-
вість навчитися створювати XPath – вирази для вибору певних фрагментів XML – документа у зручний і наочний спосіб. Якщо браузер ІЕ забороняє виконання сценаріїв, клацніть на відповідній області діалогу і подайте команду Разрешить заблокированное содержимое.
2.За допомогою кнопки Обзор оберіть файл employees.xml, натисніть на кнопці Process File. Тепер у вікні програми відображається вміст файлу employees.xml.
3.У поле XPath expression введіть вираз
employees/employee/descendant::*
і натисніть на кнопці Select Nodes. Програма виділила жовтим кольором вузли XML – документа, які відповідають XPath – виразу – обрала всі вузли документа - нащадків вузлів employee, що підпорядковані вузлу employees. Вікно програми XPath Visualiser тепер виглядає так:
50