- •Міністерство освіти і науки україни
- •Донецьк - 2010
- •Розділ 1. Розвиток інформаційного суспільства, мова html
- •Тема 1. Розвиток інформаційного суспільства
- •1.1. Інформація та її роль у глобалізованому світі
- •1.2. Теорії інформаційного суспільства
- •1.3. Побудування інформаційного суспільства в Україні
- •1.4. Мови розмітки – тенденції розвитку
- •1.5. Міжнародні установи, що регулюють розробку і впровадження сучасних засобів подання інформації
- •Тема 2. Мова розмітки гіпертексту html
- •2.1. Структура html - документа
- •2.2. Форматування даних на сторінці
- •2.3. Створення гіперпосилань
- •2.4. Escape - послідовності
- •2.5. Горизонтальні лінії
- •Тема 3. Створення списків, таблиць
- •3.1. Списки
- •3.2. Таблиці
- •3.3. Фрейми
- •Тема 4. Робота з зображеннями
- •3.1. Використання зображень на web - сторінці
- •4.2. Гіперпосилання у вигляді зображення, створення мапи посилань
- •4.3. Біглий рядок
- •Тема 5. Каскадні листи стилів css
- •5.1. Призначення, синтаксис css
- •5.2. Застосування таблиць стилів css
- •Тема 6. Створення форм
- •6.1.Форми
- •6.2. Засоби розробки сценаріїв опрацювання інформації форми
- •Тест за змістовим модулем 1 «Розвиток інформаційного суспільства, мова html»
- •Розділ 2. Мова сценаріїв JavaScript
- •Тема 7. Основи мови JavaScript
- •7.1. Мова JavaScript: основні поняття
- •7.2. Організація розгалужених обчислювальних процесів
- •If (умова) {блок операторів 1}
- •7.3. Організація циклічних обчислювальних процесів
- •While (умова) { оператори_циклу }
- •Do { оператори_циклу } while (умова)
- •7.4. Функції
- •Тема 8. Опрацювання форм
- •8.1. Об’єкти браузера
- •8.2. Обробка подій
- •8.3. Робота з текстовими полями
- •8.4 Використання перемикачів у сценаріях
- •8.5. Застосування списків
- •8.6. Робота з прапорцями
- •Тест за змістовим модулем 2 «Мова сценаріїв JavaScript»
- •Розділ 3. Розширювана мова розмітки xml, обробка xml – документів
- •Тема 9. Створення xml – документів, опис шаблону документа
- •9.1. Загальні відомості
- •9.2. Структура xml - документа
- •9.3. Опис шаблону документа dtd
- •9.4. Перевірка правильності xml - документів
- •9.5. Демонстрація xml – документів з використанням
- •Тема 10. Простори імен, xml - схеми
- •10.1. Простори імен xml
- •10.2. Розробка xml - схеми
- •10.3. Визначення умов на значення елементів і атрибутів
- •Тема 11. Мова xPath, мова xslt
- •11.1. Мова xPath
- •11.2. Розширювана мова стилів для перетворень xslt
- •Тема 12. Мова xQuery
- •12.1. Призначення мови xQuery, xQuery – процесор Saxon
- •12.2. Формування запитів xQuery
- •12.3. Конструктори, арифметичні операції та функції
- •12.4. Умовний оператор if
- •If (умова) then
- •Тема 13. Xml – аналізатори і перетворення інформації
- •13.2. Об’єктна модель документа, dom - аналізатори
- •13.3. Застосування об’єктної моделі dom
- •Об’єкт ixmldomNamedNodeMap – невпорядкована колекція вузлів, обраних за ім’ям
- •Тема 14. Застосування xml – технологій на практиці
- •14.1. Використання xml податковою адміністрацією України
- •14.2. Мова xbrl - Extensible Business Report Language
- •14.3. Мова ebXml - Electronic Business xml
- •14.4. Мова cXml - Commerce xml
- •Тест за змістовим модулем 3 «Розширювана мова розмітки xml, обробка xml – документів»
- •Теми рефератів
- •Глосарій
- •Література
- •Основні засади розвитку інформаційного суспільства в україні на 2007 - 2015 роки
- •I. Загальні положення
- •II. Завдання, цілі та напрями розвитку інформаційного суспільства в україні
- •III. Національна політика розвитку інформаційного суспільства в україні
- •IV. Організаційно-правові основи розвитку інформаційного суспільства в україні
- •V. Очікувані результати
- •Множина кольорів у html
12.4. Умовний оператор if
Умовний оператор визначає критерії пошуку інформації у XQuery, надає можливість виконати різні дії в залежності від істинності логічної умови.
Загальна форма оператору як і у JavaScript:
If (умова) then
{блок операторів 1}
else
{блок операторів 2}
Механізм дії оператору також загальновідомий - якщо логічна умова істинна, виконується блок операторів 1, інакше виконується блок операторів 2.
Розглянемо приклад застосування оператору if у запиті XQuery. Потрібно із файлу firms.xml обрати дані про найменування підприємств і їх прибуток, вивести інформацію у вигляді таблиці. Рядки таблиці, що виводять данні про підприємства, прибуток яких менше 1000 одиниць, повинні мати бежевий фон, якщо прибуток перевищує 1000 одиниць, дані виводяться на сріблястому тлі. Код запиту XQuery:
<HTML>
<BODY>
<H2>Прибуток підприємтств </H2>
<TABLE BORDER="1">
<TR STYLE="background-color:yellow">
<TD>Найменування підприємства</TD>
<TD>Прибуток</TD></TR>
{
for $f in doc("firms.xml")/firms/firm
let $p := xs:decimal($f/profit)
return
if ($p<1000) then
<TR STYLE="background-color:silver">
<TD>{data($f/@title)}</TD>
<TD ALIGN="CENTER">{$f/profit}</TD></TR>
else
<TR STYLE="background-color:beige">
<TD>{data($f/@title)}</TD>
<TD ALIGN="CENTER">{$f/profit}</TD></TR>
}
</TABLE>
</BODY>
</HTML>
Результат виконання запиту наведено на рис. 13.4.
Рисунок 13.3 – Результат виконання запиту XQuery
із використанням оператору if
Контрольні питання
Для чого використовується мова XQuery?
Який XQuery – процесор Вам відомий?
Що таке вираз FLWOR?
Яку функцію у XQuery – запиті виконує речення order by?
Які функції виконують речення for і let?
Яку функцію у XQuery – запиті виконує речення where?
Що таке конструкторі? Які конструктори Вам відомі?
Які знаки арифметичних операцій використовуються у XQuery – запитах?
Які функції можна використовувати у запитах?
Як організувати розгалуження у запиті XQuery?
Практичні завдання
Варіант №1
Створити XQuery – запит, за допомогою якого з XML – документа Banks.xml обирається і видається у вигляді таблиці інформація про всі банки, (банки з більшим доходом виділити фоновим кольором).
Варіант №2
Створити XQuery – запит, за допомогою якого з XML – документа Trade.xml обирається і видається у вигляді таблиці інформація про всі підприємства торгівлі, (підприємства з більшим товарообігом виділити фоновим кольором).
Варіант №3
Створити XQuery – запит, за допомогою якого з XML – документа XML – документа Sales.xml обирається і видається у вигляді таблиці інформація про всі товари, (товари, по яких план продажу не виконано, виділити фоновим кольором).
Тема 13. Xml – аналізатори і перетворення інформації
13.1. SAX – аналізатори
Для роботи з XML – документами використовуються різні програми - аналізатори. Аналіз (розбір – parsing) означає отримання потоку символів із вхідного документа і побудування внутрішнього уявлення, що відповідає поданій структурі. Результатом аналізу є модель XML – документа в пам’яті. Фактично XML – документ є текстовим файлом, у якому деякі теги містять інформацію, а деякі визначають структуру цієї інформації. Програма, яка зчитує та інтерпретує цю інформацію і є аналізатором, процес, при якому інформація перетворюється із XML – документа в іншу форму, називається перетворенням.
Існує велика кількість аналізаторів, які обов’язково відповідають одному із встановлених стандартів: простому API (Application Programming Interface - інтерфейс прикладного програмування) для XML (Simple API for XML – SAX) або об’єктній моделі документа (Document Object Model – DOM).
Стандарт простого API для XML (SAX) був розроблений членами списку розсилки XML – DEV, є відкритим стандартом для компаній і організацій, не належить ніякому консорціуму, комітету по стандартизації, компанії або приватній особі. SAX не є аналізатором. SAX - це специфікація, яка визначає інтерфейс для аналізаторів, найбільш поширені з яких будуються на Java-платформі. У SAX визначаються стандарти для класів об’єктів, що використовуються при створенні SAX – аналізаторів.
SAX – аналізатор (аналізатор, розроблений із застосуванням SAX API) розрахований на обробку великих XML – документів. Він починає зчитування документа з початку, зчитує невелику групу рядків (називається a blok at a time – поточним блоком), поступово доходить до кінця документа. Після зчитування блоку тексту, SAX – аналізатор визначає, містить цей блок XML – тег або інформацію. Якщо знайдено XML – тег, то SAX – аналізатор порівнює XML – тег з інформацією, що визначена програмою перетворення, яка може бути створена на мові XSLT або на мові, а потім перетворює інформацію згідно інструкцій програми. Блок знищується з пам’яті одразу після перетворення і далі зчитується наступний блок інформації. Це дає можливість SAX – аналізаторам обробляти великі XML – документи, не обмежуючись обсягом наявної пам’яті. Однак, це є і недоліком SAX – аналізаторів, оскільки аналізатор не може звернутися до тієї частини документа, яка вже була прочитана, не можна звернутися до інформації декілька разів.
SAX визначено як набір інтерфейсів Java. Для реалізації більшості його методів використано в першу чергу саме цю мову. Зараз методи SAX реалізовано на RERL, PHP та інших мовах програмування.